tdf#137209 unparent widgets in fragment dtor

Change-Id: I819514fd2b97e2cc8daad71a7f3b0b27afe6136d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103795
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
diff --git a/sw/source/ui/dbui/createaddresslistdialog.cxx b/sw/source/ui/dbui/createaddresslistdialog.cxx
index d7c9ca8..4f0a49a 100644
--- a/sw/source/ui/dbui/createaddresslistdialog.cxx
+++ b/sw/source/ui/dbui/createaddresslistdialog.cxx
@@ -47,11 +47,13 @@ struct SwAddressFragment
    std::unique_ptr<weld::Builder> m_xBuilder;
    std::unique_ptr<weld::Label> m_xLabel;
    std::unique_ptr<weld::Entry> m_xEntry;
    weld::Container* m_pGrid;

    SwAddressFragment(weld::Container* pGrid, int nLine)
        : m_xBuilder(Application::CreateBuilder(pGrid, "modules/swriter/ui/addressfragment.ui"))
        , m_xLabel(m_xBuilder->weld_label("label"))
        , m_xEntry(m_xBuilder->weld_entry("entry"))
        , m_pGrid(pGrid)
    {
        m_xLabel->set_grid_left_attach(0);
        m_xLabel->set_grid_top_attach(nLine);
@@ -59,6 +61,12 @@ struct SwAddressFragment
        m_xEntry->set_grid_left_attach(1);
        m_xEntry->set_grid_top_attach(nLine);
    }

    virtual ~SwAddressFragment()
    {
        m_pGrid->move(m_xEntry.get(), nullptr);
        m_pGrid->move(m_xLabel.get(), nullptr);
    }
};

}