use wx_static_cast() inside wxDynamicCast to catch impossible casts at compile-time instead of run-time
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@26832 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
f29fe16932
commit
5232d996cd
@ -92,6 +92,9 @@ OTHER CHANGES
|
|||||||
All:
|
All:
|
||||||
|
|
||||||
- Hindi translations added (Dhananjaya Sharma)
|
- Hindi translations added (Dhananjaya Sharma)
|
||||||
|
- wxDynamicCast() now uses static_cast<wxObject *> internally and so using it
|
||||||
|
with anything not deriving from wxObject will fail at compile time (instead
|
||||||
|
of run-time) now
|
||||||
|
|
||||||
All (GUI):
|
All (GUI):
|
||||||
|
|
||||||
|
@ -333,7 +333,10 @@ name##PluginSentinel m_pluginsentinel;
|
|||||||
|
|
||||||
// to be replaced by dynamic_cast<> in the future
|
// to be replaced by dynamic_cast<> in the future
|
||||||
#define wxDynamicCast(obj, className) \
|
#define wxDynamicCast(obj, className) \
|
||||||
((className *) wxCheckDynamicCast((wxObject*)(obj), &className::ms_classInfo))
|
((className *) wxCheckDynamicCast( \
|
||||||
|
wx_const_cast(wxObject *, wx_static_cast(const wxObject *, \
|
||||||
|
wx_const_cast(className *, wx_static_cast(const className *, obj)))), \
|
||||||
|
&className::ms_classInfo))
|
||||||
|
|
||||||
// The 'this' pointer is always true, so use this version
|
// The 'this' pointer is always true, so use this version
|
||||||
// to cast the this pointer and avoid compiler warnings.
|
// to cast the this pointer and avoid compiler warnings.
|
||||||
|
Loading…
Reference in New Issue
Block a user