From 744439e73038ea5bdbdd18b10e0e90c22bb9928c Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Thu, 30 Jun 2022 16:28:47 +0100 Subject: tdf#149787 capture a copy of mpViewShell and mpView so the callback can outlive the FuArea Change-Id: I392ffa46b6f13795faef7284c1cae74428655b5f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136694 Tested-by: Jenkins Reviewed-by: Xisco Fauli --- sd/source/ui/func/fuarea.cxx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sd/source/ui/func/fuarea.cxx b/sd/source/ui/func/fuarea.cxx index e75ab54a8f9a..345b2c70b6dc 100644 --- a/sd/source/ui/func/fuarea.cxx +++ b/sd/source/ui/func/fuarea.cxx @@ -57,10 +57,10 @@ void FuArea::DoExecute( SfxRequest& rReq ) SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create(); VclPtr pDlg(pFact->CreateSvxAreaTabDialog(mpViewShell->GetFrameWeld(), &aNewAttr, mpDoc, true)); - pDlg->StartExecuteAsync([pDlg, this](sal_Int32 nResult){ + pDlg->StartExecuteAsync([pDlg, pView = this->mpView, pViewShell = this->mpViewShell](sal_Int32 nResult){ if (nResult == RET_OK) { - mpView->SetAttributes (*(pDlg->GetOutputItemSet ())); + pView->SetAttributes (*(pDlg->GetOutputItemSet ())); // attributes changed, update Listboxes in Objectbars static const sal_uInt16 SidArray[] = { @@ -73,11 +73,11 @@ void FuArea::DoExecute( SfxRequest& rReq ) SID_ATTR_FILL_FLOATTRANSPARENCE, 0 }; - mpViewShell->GetViewFrame()->GetBindings().Invalidate( SidArray ); + pViewShell->GetViewFrame()->GetBindings().Invalidate( SidArray ); } // deferred until the dialog ends - mpViewShell->Cancel(); + pViewShell->Cancel(); pDlg->disposeOnce(); }); -- cgit