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();