Resolves: tdf#131041 crash on async border dialog
Change-Id: Ia9f5f02a0993c3b28ca5fecef3ce6333ba85806b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89823
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
diff --git a/cui/uiconfig/ui/borderareatransparencydialog.ui b/cui/uiconfig/ui/borderareatransparencydialog.ui
index 9e8ff36..0095775 100644
--- a/cui/uiconfig/ui/borderareatransparencydialog.ui
+++ b/cui/uiconfig/ui/borderareatransparencydialog.ui
@@ -7,6 +7,7 @@
<property name="border_width">6</property>
<property name="title" translatable="yes" context="borderareatransparencydialog|BorderAreaTransparencyDialog">Border / Background</property>
<property name="resizable">False</property>
<property name="modal">True</property>
<property name="type_hint">dialog</property>
<child internal-child="vbox">
<object class="GtkBox" id="dialog-vbox1">
diff --git a/svx/source/dialog/hdft.cxx b/svx/source/dialog/hdft.cxx
index cf3f9f2..5065d67 100644
--- a/svx/source/dialog/hdft.cxx
+++ b/svx/source/dialog/hdft.cxx
@@ -612,12 +612,12 @@ IMPL_LINK_NOARG(SvxHFPage, BackgroundHdl, weld::Button&, void)
SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
ScopedVclPtr<SfxAbstractTabDialog> pDlg(pFact->CreateSvxBorderBackgroundDlg(
VclPtr<SfxAbstractTabDialog> pDlg(pFact->CreateSvxBorderBackgroundDlg(
GetFrameWeld(),
*pBBSet,
mbEnableDrawingLayerFillStyles));
pDlg->StartExecuteAsync([&](sal_Int32 nResult) {
pDlg->StartExecuteAsync([pDlg, this](sal_Int32 nResult) {
if (nResult == RET_OK && pDlg->GetOutputItemSet())
{
SfxItemIter aIter(*pDlg->GetOutputItemSet());
@@ -669,6 +669,7 @@ IMPL_LINK_NOARG(SvxHFPage, BackgroundHdl, weld::Button&, void)
}
}
}
pDlg->disposeOnce();
});
UpdateExample();