Blame SOURCES/0008-Resolves-tdf-137215-restore-original-modality-before.patch

eac0b7
From fa0371ce0456bfe355c36df0741ff23daeccb3a3 Mon Sep 17 00:00:00 2001
eac0b7
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
eac0b7
Date: Tue, 3 Nov 2020 14:04:37 +0000
eac0b7
Subject: [PATCH 8/8] Resolves: tdf#137215 restore original modality before
eac0b7
 dialog loop ends
eac0b7
eac0b7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105214
eac0b7
Tested-by: Jenkins
eac0b7
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
eac0b7
(cherry picked from commit 022c11602d2101b49724b5cf104cc6c70b5a5e4b)
eac0b7
eac0b7
Change-Id: I83467e28534b781c51b8d75a023e41f3c6a03903
eac0b7
---
eac0b7
 sc/source/ui/dbgui/validate.cxx | 8 ++++++++
eac0b7
 sc/source/ui/inc/validate.hxx   | 2 ++
eac0b7
 2 files changed, 10 insertions(+)
eac0b7
eac0b7
diff --git a/sc/source/ui/dbgui/validate.cxx b/sc/source/ui/dbgui/validate.cxx
eac0b7
index 41bc913db911..73e04cc44706 100644
eac0b7
--- a/sc/source/ui/dbgui/validate.cxx
eac0b7
+++ b/sc/source/ui/dbgui/validate.cxx
eac0b7
@@ -95,6 +95,14 @@ ScValidationDlg::ScValidationDlg(weld::Window* pParent, const SfxItemSet* pArgSe
eac0b7
     AddTabPage("erroralert", ScTPValidationError::Create, nullptr);
eac0b7
 }
eac0b7
 
eac0b7
+void ScValidationDlg::EndDialog()
eac0b7
+{
eac0b7
+    // tdf#137215 ensure original modalality of true is restored before dialog loop ends
eac0b7
+    if (m_bOwnRefHdlr)
eac0b7
+        RemoveRefDlg(true);
eac0b7
+    ScValidationDlgBase::EndDialog();
eac0b7
+}
eac0b7
+
eac0b7
 ScValidationDlg::~ScValidationDlg()
eac0b7
 {
eac0b7
     if (m_bOwnRefHdlr)
eac0b7
diff --git a/sc/source/ui/inc/validate.hxx b/sc/source/ui/inc/validate.hxx
eac0b7
index 2c562717f921..cb88b9e8b40e 100644
eac0b7
--- a/sc/source/ui/inc/validate.hxx
eac0b7
+++ b/sc/source/ui/inc/validate.hxx
eac0b7
@@ -176,6 +176,8 @@ public:
eac0b7
 
eac0b7
     void            SetModal(bool bModal) { m_xDialog->set_modal(bModal); }
eac0b7
 
eac0b7
+    virtual void EndDialog() override;
eac0b7
+
eac0b7
     virtual void            SetReference( const ScRange& rRef, ScDocument* pDoc ) override
eac0b7
     {
eac0b7
         if ( m_pHandler && m_pSetReferenceHdl )
eac0b7
-- 
eac0b7
2.28.0
eac0b7