diff options
-rw-r--r-- | sc/source/ui/dbgui/validate.cxx | 8 | ||||
-rw-r--r-- | sc/source/ui/inc/validate.hxx | 2 |
2 files changed, 10 insertions, 0 deletions
diff --git a/sc/source/ui/dbgui/validate.cxx b/sc/source/ui/dbgui/validate.cxx index e2c960d1820f..3482930f173d 100644 --- a/sc/source/ui/dbgui/validate.cxx +++ b/sc/source/ui/dbgui/validate.cxx @@ -106,6 +106,14 @@ ScValidationDlg::ScValidationDlg(weld::Window* pParent, const SfxItemSet* pArgSe } } +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..cb88b9e8b40e 100644 --- a/sc/source/ui/inc/validate.hxx +++ b/sc/source/ui/inc/validate.hxx @@ -176,6 +176,8 @@ public: void SetModal(bool bModal) { m_xDialog->set_modal(bModal); } + virtual void EndDialog() override; + virtual void SetReference( const ScRange& rRef, ScDocument* pDoc ) override { if ( m_pHandler && m_pSetReferenceHdl ) |