From 5349d48c386c0c9c6c7982fea7a635cf228c47c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C4=83t=C4=83lin=20R=C4=83ceanu?= Date: Sun, 5 Aug 2018 15:46:50 +0300 Subject: [PATCH] dll build fix for WXQT, DoEnableSystemTheme removing 'inline' did fix: warning: 'virtual void wxSystemThemedControlBase::DoEnableSystemTheme(bool, wxWindow*)' redeclared without dllimport attribute after being referenced with dll linkage but introduced multiple definition of `wxSystemThemedControlBase::DoEnableSystemTheme(bool, wxWindow*)'. The proposed form gets no complaints --- include/wx/systhemectrl.h | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/include/wx/systhemectrl.h b/include/wx/systhemectrl.h index 0b9a9ab6ba..8af2d5d9c1 100644 --- a/include/wx/systhemectrl.h +++ b/include/wx/systhemectrl.h @@ -12,6 +12,10 @@ #include "wx/defs.h" +#if defined(__WXMSW__) && !defined(__WXUNIVERSAL__) + #define wxHAS_SYSTEM_THEMED_CONTROL +#endif + class WXDLLIMPEXP_FWD_CORE wxWindow; class WXDLLIMPEXP_CORE wxSystemThemedControlBase @@ -24,7 +28,13 @@ public: protected: // This method is virtual and can be overridden, e.g. composite controls do // it to enable the system theme for all of their parts. - virtual void DoEnableSystemTheme(bool enable, wxWindow* window); + virtual void DoEnableSystemTheme +#ifdef wxHAS_SYSTEM_THEMED_CONTROL + // Only __WXMSW__ has a non-trivial implementation currently. + (bool enable, wxWindow* window); +#else + (bool WXUNUSED(enable), wxWindow* WXUNUSED(window)) { } +#endif // wxHAS_SYSTEM_THEMED_CONTROL wxDECLARE_NO_COPY_CLASS(wxSystemThemedControlBase); }; @@ -47,20 +57,4 @@ protected: wxDECLARE_NO_COPY_TEMPLATE_CLASS(wxSystemThemedControl, C); }; -// Only __WXMSW__ has a non-trivial implementation currently. -#if defined(__WXMSW__) && !defined(__WXUNIVERSAL__) - #define wxHAS_SYSTEM_THEMED_CONTROL -#endif - -#ifndef wxHAS_SYSTEM_THEMED_CONTROL - -inline void -wxSystemThemedControlBase::DoEnableSystemTheme(bool WXUNUSED(enable), - wxWindow* WXUNUSED(window)) -{ - // Nothing to do. -} - -#endif // !wxHAS_SYSTEM_THEMED_CONTROL - #endif // _WX_SYSTHEMECTRL_H