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>
diff --git a/sw/source/uibase/shells/textsh1.cxx b/sw/source/uibase/shells/textsh1.cxx
index 9ed8ec1..3907f26 100644
--- a/sw/source/uibase/shells/textsh1.cxx
+++ b/sw/source/uibase/shells/textsh1.cxx
@@ -1076,7 +1076,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.
@@ -1106,7 +1107,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();
                });