cui/source/factory/dlgfact.cxx       |    2 +-
 cui/source/factory/dlgfact.hxx       |    2 +-
 sc/source/ui/view/tabvwshb.cxx       |    9 +++++++--
 sw/source/uibase/uiview/viewdlg2.cxx |    9 +++++++--
 4 files changed, 16 insertions(+), 6 deletions(-)

New commits:
commit eb6634fdda76f6bc2909b01770f4ebe28873e7af
Author:     Noel Grandin <noel.gran...@collabora.co.uk>
AuthorDate: Mon Jan 22 14:55:46 2024 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Tue Jan 23 07:17:59 2024 +0100

    make sign signatures dialog async
    
    Change-Id: I7c088b1450050720a28fbc7ccf139b8c69f1cf19
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162419
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/cui/source/factory/dlgfact.cxx b/cui/source/factory/dlgfact.cxx
index 30bdef345ff7..42c9d35e8a47 100644
--- a/cui/source/factory/dlgfact.cxx
+++ b/cui/source/factory/dlgfact.cxx
@@ -114,7 +114,7 @@ IMPL_ABSTDLG_CLASS(AbstractInsertObjectDialog)
 IMPL_ABSTDLG_CLASS(AbstractLinksDialog)
 IMPL_ABSTDLG_CLASS(AbstractScreenshotAnnotationDlg)
 IMPL_ABSTDLG_CLASS(AbstractSignatureLineDialog)
-IMPL_ABSTDLG_CLASS(AbstractSignSignatureLineDialog)
+IMPL_ABSTDLG_CLASS_ASYNC(AbstractSignSignatureLineDialog, 
SignSignatureLineDialog)
 IMPL_ABSTDLG_CLASS_ASYNC(AbstractSvxCharacterMapDialog, SvxCharacterMap)
 IMPL_ABSTDLG_CLASS(AbstractSvxHpLinkDlg)
 IMPL_ABSTDLG_CLASS(AbstractSvxJSearchOptionsDialog)
diff --git a/cui/source/factory/dlgfact.hxx b/cui/source/factory/dlgfact.hxx
index 29b28ed8cab1..be1af746c182 100644
--- a/cui/source/factory/dlgfact.hxx
+++ b/cui/source/factory/dlgfact.hxx
@@ -411,7 +411,7 @@ 
DECL_ABSTDLG_CLASS_ASYNC(AbstractQrCodeGenDialog,QrCodeGenDialog)
 };
 
 // AbstractSignSignatureLineDialog_Impl
-DECL_ABSTDLG_CLASS(AbstractSignSignatureLineDialog,SignSignatureLineDialog)
+DECL_ABSTDLG_CLASS_ASYNC(AbstractSignSignatureLineDialog,SignSignatureLineDialog)
 };
 
 // AbstractAdditionsDialog_Impl
diff --git a/sc/source/ui/view/tabvwshb.cxx b/sc/source/ui/view/tabvwshb.cxx
index b727afae9c1c..683ca26afca2 100644
--- a/sc/source/ui/view/tabvwshb.cxx
+++ b/sc/source/ui/view/tabvwshb.cxx
@@ -415,9 +415,14 @@ void ScTabViewShell::ExecDrawIns(SfxRequest& rReq)
                     GetViewData().GetDocShell()->GetBaseModel());
 
                 VclAbstractDialogFactory* pFact = 
VclAbstractDialogFactory::Create();
-                ScopedVclPtr<AbstractSignSignatureLineDialog> pDialog(
+                VclPtr<AbstractSignSignatureLineDialog> pDialog(
                     pFact->CreateSignSignatureLineDialog(GetFrameWeld(), 
xModel));
-                pDialog->Execute();
+                pDialog->StartExecuteAsync(
+                    [pDialog] (sal_Int32 /*nResult*/)->void
+                    {
+                        pDialog->disposeOnce();
+                    }
+                );
                 break;
             }
 
diff --git a/sw/source/uibase/uiview/viewdlg2.cxx 
b/sw/source/uibase/uiview/viewdlg2.cxx
index a79b224ddbfd..38cdb7ecac54 100644
--- a/sw/source/uibase/uiview/viewdlg2.cxx
+++ b/sw/source/uibase/uiview/viewdlg2.cxx
@@ -105,9 +105,14 @@ void SwView::ExecDlgExt(SfxRequest const& rReq)
         {
             VclAbstractDialogFactory* pFact = 
VclAbstractDialogFactory::Create();
             const uno::Reference<frame::XModel> xModel(GetCurrentDocument());
-            ScopedVclPtr<AbstractSignSignatureLineDialog> pDialog(
+            VclPtr<AbstractSignSignatureLineDialog> pDialog(
                 pFact->CreateSignSignatureLineDialog(GetFrameWeld(), xModel));
-            pDialog->Execute();
+            pDialog->StartExecuteAsync(
+                [pDialog] (sal_Int32 /*nResult*/)->void
+                {
+                    pDialog->disposeOnce();
+                }
+            );
             break;
         }
         case  FN_EDIT_FOOTNOTE:

Reply via email to