X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fe9c9eb0227e2f2b50e470bc2e97d6432f3bcf48..066f1b7a9580fc6c487efa753d61e3683de61407:/src/common/module.cpp?ds=sidebyside diff --git a/src/common/module.cpp b/src/common/module.cpp index 8397312756..e8ddb80a0a 100644 --- a/src/common/module.cpp +++ b/src/common/module.cpp @@ -38,13 +38,14 @@ void wxModule::RegisterModule(wxModule* module) void wxModule::UnregisterModule(wxModule* module) { m_modules.DeleteObject(module); + delete module; } // Collect up all module-derived classes, create an instance of each, // and register them. void wxModule::RegisterModules() { - wxNode *node; + wxHashTable::compatibility_iterator node; wxClassInfo* classInfo; wxClassInfo::sm_classTable->BeginFind(); @@ -65,13 +66,13 @@ void wxModule::RegisterModules() bool wxModule::InitializeModules() { // Initialize user-defined modules - wxModuleList::Node *node; + wxModuleList::compatibility_iterator node; for ( node = m_modules.GetFirst(); node; node = node->GetNext() ) { if ( !node->GetData()->Init() ) { // clean up already initialized modules - process in reverse order - wxModuleList::Node *n; + wxModuleList::compatibility_iterator n; for ( n = node->GetPrevious(); n; n = n->GetPrevious() ) { n->GetData()->OnExit(); @@ -87,13 +88,12 @@ bool wxModule::InitializeModules() void wxModule::CleanUpModules() { // Cleanup user-defined modules - wxModuleList::Node *node; + wxModuleList::compatibility_iterator node; for ( node = m_modules.GetFirst(); node; node = node->GetNext() ) { node->GetData()->Exit(); } - m_modules.DeleteContents(TRUE); - m_modules.Clear(); + WX_CLEAR_LIST(wxModuleList, m_modules); }