- // 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
+#ifdef __WXDEBUG__
+ // reentrance guard - see note above
+ static int entry = 0;
+ wxASSERT_MSG(++entry == 1, _T("wxClassInfo::Register() reentrance"));
+#endif
+
+ // 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.