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
This commit is contained in:
Cătălin Răceanu 2018-08-05 15:46:50 +03:00
parent cdaf3d12eb
commit 5349d48c38

View File

@ -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