diff options
author | Caolán McNamara <caolanm@redhat.com> | 2020-08-13 15:48:16 +0100 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2020-08-18 10:30:02 +0200 |
commit | 107010759d194dc5ea23952141275424e71c85c8 (patch) | |
tree | b05ffe477cb5d49427cadd73e04f84bff51ff746 /sw | |
parent | 9870ca2f4552b6b8a9f4bcfc4115f948cb25d9a0 (diff) |
tdf#134439 honor FN_PARAM_PAM arguments
which was dropped by
commit bba8e5aa6d1968e5279b3fe368c0f81145513d04
Date: Thu Mar 1 21:00:24 2018 +0100
tdf#116070: Use a valid PaM when confirming the dialog.
when fixing
commit 34527cec54ca634b831cfa5ac1098c4046818ac3
Date: Tue Jan 16 18:54:19 2018 +0100
lokdialog: Convert the Format -> Paragraph... dialog to async exec.
so, go back to using pPaM instead of rWrtSh.GetCursor but make a copy
of pPaM to avoid the crash of tdf#116070
Change-Id: I0aaaf5173c6be47dd306b77eacbb07d0e1c4eaf1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100528
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
Diffstat (limited to 'sw')
-rw-r--r-- | sw/source/uibase/shells/textsh1.cxx | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sw/source/uibase/shells/textsh1.cxx b/sw/source/uibase/shells/textsh1.cxx index e3adf83242b5..2d9ed1994727 100644 --- a/sw/source/uibase/shells/textsh1.cxx +++ b/sw/source/uibase/shells/textsh1.cxx @@ -1085,7 +1085,8 @@ void SwTextShell::Execute(SfxRequest &rReq) std::shared_ptr<SfxRequest> pRequest(new SfxRequest(rReq)); rReq.Ignore(); // the 'old' request is not relevant any more - pDlg->StartExecuteAsync([pDlg, &rWrtSh, pRequest, nDefDist](sal_Int32 nResult){ + auto xPaM(std::make_shared<SwPaM>(*pPaM, nullptr)); // tdf#134439 make a copy to use at later apply + pDlg->StartExecuteAsync([pDlg, &rWrtSh, pRequest, nDefDist, xPaM](sal_Int32 nResult){ if (nResult == RET_OK) { // Apply defaults if necessary. @@ -1115,7 +1116,7 @@ void SwTextShell::Execute(SfxRequest &rReq) pSet->Put(SfxStringItem(FN_DROP_CHAR_STYLE_NAME, sCharStyleName)); } - sw_ParagraphDialogResult(pSet, rWrtSh, *pRequest, rWrtSh.GetCursor()); + sw_ParagraphDialogResult(pSet, rWrtSh, *pRequest, xPaM.get()); } pDlg->disposeOnce(); }); |