From 7b25b65a2f735d383560d684bbcc9c58c6a4157f Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Wed, 27 May 2015 15:07:05 +0200 Subject: [PATCH] Add missing wxABI_VERSION checks and version script entries. Newly overridden virtual methods must be taken in wxABI_VERSION checks as otherwise any program using the class deriving from the one containing this method would reference the method in the vtbl of that class and so become ABI-incompatible with the earlier shared library versions. Also add wxABI_VERSION guard around the entire wxSimplebookXmlHandler class added in 3.0.2. --- include/wx/gtk/dvrenderer.h | 2 ++ include/wx/propgrid/props.h | 2 ++ include/wx/xrc/xh_simplebook.h | 4 ++++ version-script.in | 10 ++++++++++ 4 files changed, 18 insertions(+) diff --git a/include/wx/gtk/dvrenderer.h b/include/wx/gtk/dvrenderer.h index 0d61090f5b..08ee8213b1 100644 --- a/include/wx/gtk/dvrenderer.h +++ b/include/wx/gtk/dvrenderer.h @@ -34,7 +34,9 @@ public: virtual void EnableEllipsize(wxEllipsizeMode mode = wxELLIPSIZE_MIDDLE); virtual wxEllipsizeMode GetEllipsizeMode() const; +#if wxABI_VERSION >= 30003 virtual bool FinishEditing(); +#endif // GTK-specific implementation // --------------------------- diff --git a/include/wx/propgrid/props.h b/include/wx/propgrid/props.h index 168a0f560c..d1a701cd2f 100644 --- a/include/wx/propgrid/props.h +++ b/include/wx/propgrid/props.h @@ -316,7 +316,9 @@ public: const wxString& text, int argFlags = 0 ) const; virtual bool DoSetAttribute( const wxString& name, wxVariant& value ); +#if wxABI_VERSION >= 30003 virtual wxVariant DoGetAttribute( const wxString& name ) const; +#endif virtual bool ValidateValue( wxVariant& value, wxPGValidationInfo& validationInfo ) const; diff --git a/include/wx/xrc/xh_simplebook.h b/include/wx/xrc/xh_simplebook.h index cf4ddd085b..2ccfcdf3d4 100644 --- a/include/wx/xrc/xh_simplebook.h +++ b/include/wx/xrc/xh_simplebook.h @@ -14,6 +14,8 @@ #if wxUSE_XRC && wxUSE_BOOKCTRL +#if wxABI_VERSION >= 30002 + class wxSimplebook; class WXDLLIMPEXP_XRC wxSimplebookXmlHandler : public wxXmlResourceHandler @@ -31,6 +33,8 @@ private: wxDECLARE_DYNAMIC_CLASS(wxSimplebookXmlHandler); }; +#endif // wxABI_VERSION >= 30002 + #endif // wxUSE_XRC && wxUSE_BOOKCTRL #endif // _WX_XH_SIMPLEBOOK_H_ diff --git a/version-script.in b/version-script.in index 0c3503cf43..918af5e0ac 100644 --- a/version-script.in +++ b/version-script.in @@ -21,6 +21,16 @@ # and once released its version cannot be changed. +# public symbols added in 3.0.3 (please keep in alphabetical order): +@WX_VERSION_TAG@.3 { + *wxDataViewRenderer*FinishEditing*; + *wxFloatProperty*DoGetAttribute*; + + # This class was actually added in 3.0.2 but not tagged correctly in it, so + # do it here following the better late than never principle. + *wxSimplebookXmlHandler*; +}; + # public symbols added in 3.0.2 (please keep in alphabetical order): @WX_VERSION_TAG@.2 { *wxGenericListCtrl*EndEditLabel*;