]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/init.cpp
got rid of wxSocketBase::m_error which could get out of sync with wxSocketImpl::m_err...
[wxWidgets.git] / src / common / init.cpp
index 5154c1afd7947c7e03beb8fb2ac833d6c2c4296f..49e211f064ec8f8b8dec40ba8196ef2ad2117c5d 100644 (file)
@@ -255,28 +255,34 @@ static bool DoCommonPostInit()
     //       the executable currently running, which are not necessarily all
     //       wxWidgets event classes.
     const wxClassInfo *ci = wxClassInfo::GetFirst();
-    while (ci)
+    for (; ci; ci = ci->GetNext())
     {
         // is this class derived from wxEvent?
-        if (ci->IsKindOf(CLASSINFO(wxEvent)) && wxString(ci->GetClassName()) != "wxEvent")
-        {
-            if (!ci->IsDynamic())
-                wxLogWarning("The event class '%s' should have a DECLARE_DYNAMIC_CLASS macro!",
-                             ci->GetClassName());
-
-            // yes; test if it implements Clone() correctly
-            wxEvent* test = dynamic_cast<wxEvent*>(ci->CreateObject());
-            wxASSERT_MSG(test, "The event class should have a DECLARE_DYNAMIC_CLASS macro!");
+        if (!ci->IsKindOf(CLASSINFO(wxEvent)) || wxString(ci->GetClassName()) == "wxEvent")
+            continue;
 
-            wxEvent* cloned = test->Clone();
-            if (!cloned || cloned->GetClassInfo() != ci)
-                wxLogWarning("The event class '%s' does not correctly implements wxEvent::Clone()!",
-                             ci->GetClassName());
+        if (!ci->IsDynamic())
+        {
+            wxLogWarning("The event class '%s' should have a DECLARE_DYNAMIC_CLASS macro!",
+                         ci->GetClassName());
+            continue;
+        }
 
-            delete test;
+        // yes; test if it implements Clone() correctly
+        wxEvent* test = dynamic_cast<wxEvent*>(ci->CreateObject());
+        if (test == NULL)
+        {
+            wxLogWarning("The event class '%s' should have a DECLARE_DYNAMIC_CLASS macro!",
+                         ci->GetClassName());
+            continue;
         }
 
-        ci = ci->GetNext();
+        wxEvent* cloned = test->Clone();
+        if (!cloned || cloned->GetClassInfo() != ci)
+            wxLogWarning("The event class '%s' does not correctly implement Clone()!",
+                         ci->GetClassName());
+
+        delete test;
     }
 #endif