X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e32d4836066565f3eaba7b8fc3f73080e9f26622..31ad423e4fb556ec225a63b161154d3bf3445c1b:/include/wx/object.h diff --git a/include/wx/object.h b/include/wx/object.h index bc0824541b..1443bcfa93 100644 --- a/include/wx/object.h +++ b/include/wx/object.h @@ -333,20 +333,16 @@ name##PluginSentinel m_pluginsentinel; // to be replaced by dynamic_cast<> in the future #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 // to cast the this pointer and avoid compiler warnings. #define wxDynamicCastThis(className) \ (IsKindOf(&className::ms_classInfo) ? (className *)(this) : (className *)0) -#ifdef HAVE_CONST_CAST -#define wxConstCast(obj, className) const_cast(obj) -#else -#define wxConstCast(obj, className) ((className *)(obj)) -#endif - - #ifdef __WXDEBUG__ inline void* wxCheckCast(void *ptr) { @@ -420,7 +416,7 @@ inline void* wxCheckCast(void *ptr) #endif // WXDEBUG && wxUSE_MEMORY_TRACING // ---------------------------------------------------------------------------- -// wxObject: the root class of wxWindows object hierarchy +// wxObject: the root class of wxWidgets object hierarchy // ---------------------------------------------------------------------------- class WXDLLIMPEXP_BASE wxObject @@ -551,7 +547,7 @@ public: // get the runtime identity of this object wxClassInfo *GetClassInfo() const { - return const_cast((const wxClassInfo*)m_classInfo); + return wx_const_cast(wxClassInfo *, m_classInfo); } wxObject* GetSuperClassInstance() const