X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0613b80c171f77425226621886e9160f6767ad30..07170120ee06625fead8c72ad537bf41fa3ed8a9:/include/wx/object.h diff --git a/include/wx/object.h b/include/wx/object.h index acf4956d16..20aa447d2d 100644 --- a/include/wx/object.h +++ b/include/wx/object.h @@ -73,7 +73,7 @@ public: , m_baseInfo1(baseInfo1) , m_baseInfo2(baseInfo2) , m_next(sm_first) - { + { sm_first = this; Register(); } @@ -114,7 +114,7 @@ public: wxDEPRECATED( static void CleanUpClasses() ); #endif static void CleanUp(); - + public: const wxChar *m_className; int m_objectSize; @@ -140,8 +140,8 @@ private: static wxClassInfo *GetBaseByName(const wxChar *name); DECLARE_NO_COPY_CLASS(wxClassInfo) - -protected: + +protected: // registers the class void Register(); void Unregister(); @@ -333,7 +333,10 @@ 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. @@ -413,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 @@ -544,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