]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/object.cpp
initialize send_event field of GdkEventExpose we generate (bug 1245864) (Robert,...
[wxWidgets.git] / src / common / object.cpp
index 605eb33b43c91f309463374f07abf4fa56dd7487..25e6b04650d1b46e3af76136cf61eaa023d67c54 100644 (file)
@@ -81,11 +81,21 @@ wxClassInfo wxObject::ms_classInfo( wxT("wxObject"), 0, 0,
 wxClassInfo* wxClassInfo::sm_first = NULL;
 wxHashTable* wxClassInfo::sm_classTable = NULL;
 
+// when using XTI, this method is already implemented inline inside
+// DECLARE_DYNAMIC_CLASS but otherwise we intentionally make this function
+// non-inline because this allows us to have a non-inline virtual function in
+// all wx classes and this solves linking problems for HP-UX native toolchain
+// and possibly others (we could make dtor non-inline as well but it's more
+// useful to keep it inline than this function)
+#if !wxUSE_EXTENDED_RTTI
+
 wxClassInfo *wxObject::GetClassInfo() const
 {
     return &wxObject::ms_classInfo;
 }
 
+#endif // wxUSE_EXTENDED_RTTI
+
 // These are here so we can avoid 'always true/false' warnings
 // by referring to these instead of true/false
 const bool wxTrue = true;
@@ -220,11 +230,11 @@ void wxClassInfo::Register()
         sm_classTable = new wxHashTable(wxKEY_STRING);
     }
 
-    // using IMPLEMENT_DYNAMIC_CLASS() macro twice (which may happen if you
-    // link any object module twice mistakenly) will break this function
-    // because it will enter an infinite loop and eventually die with "out of
-    // memory" - as this is quite hard to detect if you're unaware of this,
-    // try to do some checks here
+    // Using IMPLEMENT_DYNAMIC_CLASS() macro twice (which may happen if you
+    // link any object module twice mistakenly, or link twice against wx shared
+    // library) will break this function because it will enter an infinite loop
+    // and eventually die with "out of memory" - as this is quite hard to
+    // detect if you're unaware of this, try to do some checks here.
     wxASSERT_MSG( sm_classTable->Get(m_className) == NULL,
                   _T("class already in RTTI table - have you used IMPLEMENT_DYNAMIC_CLASS() twice (may be by linking some object module(s) twice)?") );