git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57601
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
// the executable currently running, which are not necessarily all
// wxWidgets event classes.
const wxClassInfo *ci = wxClassInfo::GetFirst();
// the executable currently running, which are not necessarily all
// wxWidgets event classes.
const wxClassInfo *ci = wxClassInfo::GetFirst();
+ for (; ci; ci = ci->GetNext())
{
// is this class derived from wxEvent?
{
// 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;
+ }
+ // 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;
+ wxEvent* cloned = test->Clone();
+ if (!cloned || cloned->GetClassInfo() != ci)
+ wxLogWarning("The event class '%s' does not correctly implement Clone()!",
+ ci->GetClassName());
+
+ delete test;