]> git.saurik.com Git - wxWidgets.git/commitdiff
use wx_static_cast() inside wxDynamicCast to catch impossible casts at compile-time...
authorVadim Zeitlin <vadim@wxwidgets.org>
Fri, 16 Apr 2004 10:57:06 +0000 (10:57 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Fri, 16 Apr 2004 10:57:06 +0000 (10:57 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@26832 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/changes.txt
include/wx/object.h

index 788980326284dc92c8dcfd4a08354c434282023f..5739b6361130ca59f47e08e796ff96a3e7235ced 100644 (file)
@@ -92,6 +92,9 @@ OTHER CHANGES
 All:
 
 - 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):
 
index f42eaa5eb351ec7bf3d4166151bfb551b9090756..be84989431babe5b24e632fbbd73fbb68a189b1d 100644 (file)
@@ -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.