[Libreoffice-commits] core.git: Branch 'libreoffice-5-1' - sc/source
Stephan Bergmann
sbergman at redhat.com
Wed Jan 20 09:33:15 PST 2016
sc/source/ui/dbgui/validate.cxx | 5 +++++
sc/source/ui/inc/validate.hxx | 2 +-
2 files changed, 6 insertions(+), 1 deletion(-)
New commits:
commit a6a65ecdef3a577b537b5d9fccb9d41e585b9f14
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Tue Jan 19 10:58:44 2016 +0100
Make virtual ~ScValidationDlg non-inline
...otherwise, GCC 6 would aggressively inline ScValidationDlg destruction of the
VclPtr<ScValidationDlg> in ScValidityRefChildWin::ScValidityRefChildWin
(sc/source/ui/view/reffact.cxx, in sc library), checking whether the vtable
points at ~ScValidationDlg (instead of a derived class dtor) to directly inline
the ~ScValidationDlg code, which requires the ScValidateionDlg vtable (to store
it in the object's vtable during destruction), which requires the code of inline
virtual ScValidationDlg::dispose and ScValidationDlg::Close, which in turn need
the addresses of (non-inline) ScValidationDlg::RemoveRefDlg and
ScTPValidationValue::RemoveRefDlg, both defined in the scui library and not
exported from there.
Change-Id: I7eb96f42deb5edd844d91e999aa5511679302c01
(cherry picked from commit 8d1a24dae03690b576310e3539369916f31ac475)
Reviewed-on: https://gerrit.libreoffice.org/21637
Reviewed-by: Eike Rathke <erack at redhat.com>
Tested-by: Eike Rathke <erack at redhat.com>
diff --git a/sc/source/ui/dbgui/validate.cxx b/sc/source/ui/dbgui/validate.cxx
index 459c5d7..db73012 100644
--- a/sc/source/ui/dbgui/validate.cxx
+++ b/sc/source/ui/dbgui/validate.cxx
@@ -96,6 +96,11 @@ ScValidationDlg::ScValidationDlg(vcl::Window* pParent, const SfxItemSet* pArgSet
get(m_pHBox, "refinputbox");
}
+ScValidationDlg::~ScValidationDlg()
+{
+ disposeOnce();
+}
+
void ScTPValidationValue::SetReferenceHdl( const ScRange&rRange , ScDocument* pDoc )
{
if ( rRange.aStart != rRange.aEnd )
diff --git a/sc/source/ui/inc/validate.hxx b/sc/source/ui/inc/validate.hxx
index d39b99b..1e785b7 100644
--- a/sc/source/ui/inc/validate.hxx
+++ b/sc/source/ui/inc/validate.hxx
@@ -182,7 +182,7 @@ class ScValidationDlg
public:
explicit ScValidationDlg( vcl::Window* pParent, const SfxItemSet* pArgSet, ScTabViewShell * pTabViewSh, SfxBindings *pB = nullptr );
- virtual ~ScValidationDlg() { disposeOnce(); }
+ virtual ~ScValidationDlg();
virtual void dispose() override
{
if( m_bOwnRefHdlr )
More information about the Libreoffice-commits
mailing list