- if (g_newArgv)
- delete[] g_newArgv;
- g_newArgv = NULL;
-
- delete wxWidgetHashTable;
- wxWidgetHashTable = NULL;
-
- wxModule::CleanUpModules();
-
-#if wxUSE_WX_RESOURCES
- wxCleanUpResourceSystem();
-#endif
-
- delete wxTheColourDatabase;
- wxTheColourDatabase = NULL;
-
- wxDeleteStockObjects();
-
- wxDeleteStockLists();
-
- delete wxTheApp;
- wxTheApp = NULL;
-
- wxClassInfo::CleanUpClasses();
-
-#if wxUSE_THREADS
- delete wxPendingEvents;
- delete wxPendingEventsLocker;
-#endif
-
-#if (defined(__WXDEBUG__) && wxUSE_MEMORY_TRACING) || wxUSE_DEBUG_CONTEXT
- // At this point we want to check if there are any memory
- // blocks that aren't part of the wxDebugContext itself,
- // as a special case. Then when dumping we need to ignore
- // wxDebugContext, too.
- if (wxDebugContext::CountObjectsLeft(TRUE) > 0)
- {
- wxLogDebug("There were memory leaks.");
- wxDebugContext::Dump();
- wxDebugContext::PrintStatistics();
- }
-#endif
-
- // do it as the very last thing because everything else can log messages
- wxLog::DontCreateOnDemand();
- // do it as the very last thing because everything else can log messages
- delete wxLog::SetActiveTarget(NULL);
-}
-
-// NB: argc and argv may be changed here, pass by reference!
-int wxEntryStart( int& argc, char *argv[] )
-{
-#ifdef __WXDEBUG__