]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/object.h
fixed gcc warnings about not calling base class ctor explicitly in copy ctors (patch...
[wxWidgets.git] / include / wx / object.h
index bc0824541b64f78cb6a1086aba691180bd72ecac..1443bcfa938280c580db7e2b24adf9a1b32bb6eb 100644 (file)
@@ -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<className *>(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<wxClassInfo*>((const wxClassInfo*)m_classInfo);
+               return wx_const_cast(wxClassInfo *, m_classInfo);
     }
 
     wxObject* GetSuperClassInstance() const