+
+ // 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
+ 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)?") );
+
+ sm_classTable->Put(m_className, (wxObject *)this);