summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2020-03-02 11:22:49 +0000
committerCaolán McNamara <caolanm@redhat.com>2020-03-03 09:59:32 +0100
commitfd55510992800d18d04f3c54bd2ad0e0eb62d9ab (patch)
tree620f1d142640b35b5f410cbbdadcebce65aaca66
parent37b4784ca722aa0496cda95191869c2086223e24 (diff)
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>
-rw-r--r--cui/uiconfig/ui/borderareatransparencydialog.ui1
-rw-r--r--svx/source/dialog/hdft.cxx5
2 files changed, 4 insertions, 2 deletions
diff --git a/cui/uiconfig/ui/borderareatransparencydialog.ui b/cui/uiconfig/ui/borderareatransparencydialog.ui
index 9e8ff3623d74..00957753639c 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 cf3f9f259b94..5065d67ac0d7 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();