|
 |
f085be |
From efb02fcddb7abe7f6f163ee8a47878b06d15a610 Mon Sep 17 00:00:00 2001
|
|
 |
f085be |
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
|
 |
f085be |
Date: Mon, 21 Jul 2014 13:14:19 +0100
|
|
 |
f085be |
Subject: [PATCH] Resolves: rhbz#1121341 crash on closing shrunk validity
|
|
 |
f085be |
window
|
|
 |
f085be |
|
|
 |
f085be |
Change-Id: I5fc1d6b909b3281ec3799b60bc3fd7b5f1163a75
|
|
 |
f085be |
---
|
|
 |
f085be |
sc/source/ui/dbgui/validate.cxx | 29 ++++++++++++++++++++++++-----
|
|
 |
f085be |
sc/source/ui/inc/validate.hxx | 2 ++
|
|
 |
f085be |
2 files changed, 26 insertions(+), 5 deletions(-)
|
|
 |
f085be |
|
|
 |
f085be |
diff --git a/sc/source/ui/dbgui/validate.cxx b/sc/source/ui/dbgui/validate.cxx
|
|
 |
f085be |
index f40981c..d119747 100644
|
|
 |
f085be |
--- a/sc/source/ui/dbgui/validate.cxx
|
|
 |
f085be |
+++ b/sc/source/ui/dbgui/validate.cxx
|
|
 |
f085be |
@@ -151,12 +151,14 @@ void ScTPValidationValue::RefInputDonePostHdl()
|
|
 |
f085be |
|
|
 |
f085be |
}
|
|
 |
f085be |
|
|
 |
f085be |
-
|
|
 |
f085be |
sal_Bool ScValidationDlg::Close()
|
|
 |
f085be |
{
|
|
 |
f085be |
- if( m_bOwnRefHdlr )
|
|
 |
f085be |
- if( SfxTabPage* pPage = GetTabPage( TP_VALIDATION_VALUES ) )
|
|
 |
f085be |
- static_cast<ScTPValidationValue*>(pPage)->RemoveRefDlg();
|
|
 |
f085be |
+ SfxTabPage* pPage = GetTabPage(TP_VALIDATION_VALUES);
|
|
 |
f085be |
+ if (pPage)
|
|
 |
f085be |
+ static_cast<ScTPValidationValue*>(pPage)->ParkRefs();
|
|
 |
f085be |
+
|
|
 |
f085be |
+ if (m_bOwnRefHdlr && pPage)
|
|
 |
f085be |
+ static_cast<ScTPValidationValue*>(pPage)->RemoveRefDlg();
|
|
 |
f085be |
|
|
 |
f085be |
return ScValidationDlgBase::Close();
|
|
 |
f085be |
}
|
|
 |
f085be |
@@ -168,7 +170,6 @@ ScValidationDlg::~ScValidationDlg()
|
|
 |
f085be |
delete mpHBox;
|
|
 |
f085be |
}
|
|
 |
f085be |
|
|
 |
f085be |
-
|
|
 |
f085be |
// ============================================================================
|
|
 |
f085be |
|
|
 |
f085be |
namespace {
|
|
 |
f085be |
@@ -338,6 +339,22 @@ ScTPValidationValue::ScTPValidationValue( Window* pParent, const SfxItemSet& rAr
|
|
 |
f085be |
m_btnRef.Hide(); // cell range picker
|
|
 |
f085be |
}
|
|
 |
f085be |
|
|
 |
f085be |
+void ScTPValidationValue::ParkRefs()
|
|
 |
f085be |
+{
|
|
 |
f085be |
+ //if there are children of the mpHBox, i.e.
|
|
 |
f085be |
+ //in shrunk mode, this will crash
|
|
 |
f085be |
+ //after the mpHBox is deleted
|
|
 |
f085be |
+ if( m_pRefEdit && m_pRefEdit->GetParent()!= this )
|
|
 |
f085be |
+ {
|
|
 |
f085be |
+ m_pRefEdit->SetParent( this );
|
|
 |
f085be |
+ }
|
|
 |
f085be |
+
|
|
 |
f085be |
+ if( m_btnRef.GetParent()!=this )
|
|
 |
f085be |
+ {
|
|
 |
f085be |
+ m_btnRef.SetParent( this );
|
|
 |
f085be |
+ }
|
|
 |
f085be |
+}
|
|
 |
f085be |
+
|
|
 |
f085be |
ScTPValidationValue::~ScTPValidationValue()
|
|
 |
f085be |
{
|
|
 |
f085be |
}
|
|
 |
f085be |
diff --git a/sc/source/ui/inc/validate.hxx b/sc/source/ui/inc/validate.hxx
|
|
 |
f085be |
index 5cac401..12d1cec 100644
|
|
 |
f085be |
--- a/sc/source/ui/inc/validate.hxx
|
|
 |
f085be |
+++ b/sc/source/ui/inc/validate.hxx
|
|
 |
f085be |
@@ -182,6 +182,8 @@ public:
|
|
 |
f085be |
virtual sal_Bool FillItemSet( SfxItemSet& rArgSet );
|
|
 |
f085be |
virtual void Reset( const SfxItemSet& rArgSet );
|
|
 |
f085be |
|
|
 |
f085be |
+ void ParkRefs();
|
|
 |
f085be |
+
|
|
 |
f085be |
private:
|
|
 |
f085be |
void Init();
|
|
 |
f085be |
|
|
 |
f085be |
--
|
|
 |
f085be |
1.9.3
|
|
 |
f085be |
|