libreoffice: fix build with gcc8
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
From a6a65ecdef3a577b537b5d9fccb9d41e585b9f14 Mon Sep 17 00:00:00 2001
|
||||
From: Stephan Bergmann <sbergman@redhat.com>
|
||||
Date: Tue, 19 Jan 2016 10:58:44 +0100
|
||||
Subject: [PATCH] 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@redhat.com>
|
||||
Tested-by: Eike Rathke <erack@redhat.com>
|
||||
|
||||
Upstream-Status: Backported
|
||||
---
|
||||
sc/source/ui/dbgui/validate.cxx | 5 +++++
|
||||
sc/source/ui/inc/validate.hxx | 2 +-
|
||||
2 files changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sc/source/ui/dbgui/validate.cxx b/sc/source/ui/dbgui/validate.cxx
|
||||
index 459c5d731fc7..db7301280b1e 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 d39b99b12bac..1e785b7942de 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 = NULL );
|
||||
- virtual ~ScValidationDlg() { disposeOnce(); }
|
||||
+ virtual ~ScValidationDlg();
|
||||
virtual void dispose() SAL_OVERRIDE
|
||||
{
|
||||
if( m_bOwnRefHdlr )
|
||||
--
|
||||
2.14.4
|
||||
|
||||
@@ -17,6 +17,7 @@ SRC_URI += " \
|
||||
file://0005-packedpixeliterator.hxx-fix-typo-detected-by-gcc7.patch \
|
||||
file://0006-Fix-build-with-recent-icu.patch \
|
||||
file://0007-fix-build-with-poppler-0.64.patch \
|
||||
file://0008-Make-virtual-ScValidationDlg-non-inline.patch \
|
||||
"
|
||||
SRCREV_unoconv = "260b815bf2c57118df439f381974f3f0987222a1"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user