tidied up patch 583937 (wxClassInfo dtor)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16492 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
b15ed74753
commit
aa4b7ef978
@ -74,26 +74,7 @@ public:
|
||||
, m_next(sm_first)
|
||||
{ sm_first = this; }
|
||||
|
||||
~wxClassInfo()
|
||||
{
|
||||
if (sm_first == this)
|
||||
{
|
||||
sm_first = m_next;
|
||||
}
|
||||
else
|
||||
{
|
||||
wxClassInfo * info = sm_first;
|
||||
while (info)
|
||||
{
|
||||
if (info->m_next == this)
|
||||
{
|
||||
info->m_next = m_next;
|
||||
break;
|
||||
}
|
||||
info = info->m_next;
|
||||
}
|
||||
}
|
||||
}
|
||||
~wxClassInfo();
|
||||
|
||||
wxObject *CreateObject() { return m_objectConstructor ? (*m_objectConstructor)() : 0; }
|
||||
|
||||
|
@ -136,6 +136,31 @@ void wxObject::operator delete[] (void * buf, const wxChar* WXUNUSED(fileName),
|
||||
// wxClassInfo
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
wxClassInfo::~wxClassInfo()
|
||||
{
|
||||
// remove this object from the linked list of all class infos: if we don't
|
||||
// do it, loading/unloading a DLL containing static wxClassInfo objects is
|
||||
// not going to work
|
||||
if ( this == sm_first )
|
||||
{
|
||||
sm_first = m_next;
|
||||
}
|
||||
else
|
||||
{
|
||||
wxClassInfo *info = sm_first;
|
||||
while (info)
|
||||
{
|
||||
if ( info->m_next == this )
|
||||
{
|
||||
info->m_next = m_next;
|
||||
break;
|
||||
}
|
||||
|
||||
info = info->m_next;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
wxClassInfo *wxClassInfo::FindClass(const wxChar *className)
|
||||
{
|
||||
if ( sm_classTable )
|
||||
|
Loading…
Reference in New Issue
Block a user