sc/source/ui/dbgui/validate.cxx |    8 ++++++++
 sc/source/ui/inc/validate.hxx   |    2 ++
 2 files changed, 10 insertions(+)

New commits:
commit 3dd1869e040b8a114b064aaf0fdb04d9571e2d34
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Tue Nov 3 14:04:37 2020 +0000
Commit:     Gabor Kelemen <gabor.kelemen.ext...@allotropia.de>
CommitDate: Mon May 1 12:47:57 2023 +0200

    Resolves: tdf#137215 restore original modality before dialog loop ends
    
    Change-Id: I83467e28534b781c51b8d75a023e41f3c6a03903
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105214
    Tested-by: Jenkins
    Reviewed-by: Adolfo Jayme Barrientos <fit...@ubuntu.com>

diff --git a/sc/source/ui/dbgui/validate.cxx b/sc/source/ui/dbgui/validate.cxx
index 41bc913db911..73e04cc44706 100644
--- a/sc/source/ui/dbgui/validate.cxx
+++ b/sc/source/ui/dbgui/validate.cxx
@@ -95,6 +95,14 @@ ScValidationDlg::ScValidationDlg(weld::Window* pParent, 
const SfxItemSet* pArgSe
     AddTabPage("erroralert", ScTPValidationError::Create, nullptr);
 }
 
+void ScValidationDlg::EndDialog()
+{
+    // tdf#137215 ensure original modalality of true is restored before dialog 
loop ends
+    if (m_bOwnRefHdlr)
+        RemoveRefDlg(true);
+    ScValidationDlgBase::EndDialog();
+}
+
 ScValidationDlg::~ScValidationDlg()
 {
     if (m_bOwnRefHdlr)
diff --git a/sc/source/ui/inc/validate.hxx b/sc/source/ui/inc/validate.hxx
index 2c562717f921..744de1a843bd 100644
--- a/sc/source/ui/inc/validate.hxx
+++ b/sc/source/ui/inc/validate.hxx
@@ -182,6 +182,8 @@ public:
             (m_pHandler->*m_pSetReferenceHdl)( rRef, pDoc );
     }
 
+    virtual void EndDialog() override;
+
     virtual void            SetActive() override
     {
         if ( m_pHandler && m_pSetActiveHdl )

Reply via email to