cui/source/dialogs/scriptdlg.cxx |    9 +++++----
 cui/source/inc/scriptdlg.hxx     |    1 +
 2 files changed, 6 insertions(+), 4 deletions(-)

New commits:
commit d33703e26a926507637733612ef169b3f3e05002
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Fri Oct 29 12:54:26 2021 +0100
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Sat Oct 30 11:07:29 2021 +0200

    Resolves: tdf#145377 don't use dismissed dialog as parent for error dialogs
    
    the script dialog is dismissed before the error dialogs get executed
    
    Change-Id: I9e143a7e65077d09f436c4744759c78a9970f1d0
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124430
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caol...@redhat.com>

diff --git a/cui/source/dialogs/scriptdlg.cxx b/cui/source/dialogs/scriptdlg.cxx
index 3ba92fc337cf..4ae05a0c48e6 100644
--- a/cui/source/dialogs/scriptdlg.cxx
+++ b/cui/source/dialogs/scriptdlg.cxx
@@ -372,6 +372,7 @@ CuiInputDialog::CuiInputDialog(weld::Window * pParent, 
InputDialogMode nMode)
 
 SvxScriptOrgDialog::SvxScriptOrgDialog(weld::Window* pParent, const OUString& 
language)
     : SfxDialogController(pParent, "cui/ui/scriptorganizer.ui", 
"ScriptOrganizerDialog")
+    , m_pParent(pParent)
     , m_sLanguage(language)
     , m_delErrStr(CuiResId(RID_SVXSTR_DELFAILED))
     , m_delErrTitleStr(CuiResId(RID_SVXSTR_DELFAILED_TITLE))
@@ -622,19 +623,19 @@ IMPL_LINK(SvxScriptOrgDialog, ButtonHdl, weld::Button&, 
rButton, void)
             }
             catch ( reflection::InvocationTargetException& ite )
             {
-                SvxScriptErrorDialog::ShowAsyncErrorDialog(getDialog(), 
css::uno::Any(ite));
+                SvxScriptErrorDialog::ShowAsyncErrorDialog(m_pParent, 
css::uno::Any(ite));
             }
             catch ( provider::ScriptFrameworkErrorException& ite )
             {
-                SvxScriptErrorDialog::ShowAsyncErrorDialog(getDialog(), 
css::uno::Any(ite));
+                SvxScriptErrorDialog::ShowAsyncErrorDialog(m_pParent, 
css::uno::Any(ite));
             }
             catch ( RuntimeException& re )
             {
-                SvxScriptErrorDialog::ShowAsyncErrorDialog(getDialog(), 
css::uno::Any(re));
+                SvxScriptErrorDialog::ShowAsyncErrorDialog(m_pParent, 
css::uno::Any(re));
             }
             catch ( Exception& e )
             {
-                SvxScriptErrorDialog::ShowAsyncErrorDialog(getDialog(), 
css::uno::Any(e));
+                SvxScriptErrorDialog::ShowAsyncErrorDialog(m_pParent, 
css::uno::Any(e));
             }
         }
         StoreCurrentSelection();
diff --git a/cui/source/inc/scriptdlg.hxx b/cui/source/inc/scriptdlg.hxx
index 3f16d8a66bab..d2e5cae7f27d 100644
--- a/cui/source/inc/scriptdlg.hxx
+++ b/cui/source/inc/scriptdlg.hxx
@@ -77,6 +77,7 @@ public:
 class SvxScriptOrgDialog : public SfxDialogController
 {
 protected:
+    weld::Window* m_pParent;
     OUString         m_sLanguage;
     static Selection_hash   m_lastSelection;
     const OUString m_delErrStr;

Reply via email to