Kaydet (Commit) 8d1a24da authored tarafından Stephan Bergmann's avatar Stephan Bergmann

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
üst 6dfcaa89
...@@ -96,6 +96,11 @@ ScValidationDlg::ScValidationDlg(vcl::Window* pParent, const SfxItemSet* pArgSet ...@@ -96,6 +96,11 @@ ScValidationDlg::ScValidationDlg(vcl::Window* pParent, const SfxItemSet* pArgSet
get(m_pHBox, "refinputbox"); get(m_pHBox, "refinputbox");
} }
ScValidationDlg::~ScValidationDlg()
{
disposeOnce();
}
void ScTPValidationValue::SetReferenceHdl( const ScRange&rRange , ScDocument* pDoc ) void ScTPValidationValue::SetReferenceHdl( const ScRange&rRange , ScDocument* pDoc )
{ {
if ( rRange.aStart != rRange.aEnd ) if ( rRange.aStart != rRange.aEnd )
......
...@@ -176,7 +176,7 @@ class ScValidationDlg ...@@ -176,7 +176,7 @@ class ScValidationDlg
public: public:
explicit ScValidationDlg( vcl::Window* pParent, const SfxItemSet* pArgSet, ScTabViewShell * pTabViewSh, SfxBindings *pB = nullptr ); explicit ScValidationDlg( vcl::Window* pParent, const SfxItemSet* pArgSet, ScTabViewShell * pTabViewSh, SfxBindings *pB = nullptr );
virtual ~ScValidationDlg() { disposeOnce(); } virtual ~ScValidationDlg();
virtual void dispose() override virtual void dispose() override
{ {
if( m_bOwnRefHdlr ) if( m_bOwnRefHdlr )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment