WX_DEFINE_OBJARRAY(wxMsgArray);
#endif // wxUSE_THREADS
-#if wxUSE_WX_RESOURCES
- #include "wx/resource.h"
-#endif
-
#if wxUSE_TOOLTIPS
#include "wx/tooltip.h"
#endif // wxUSE_TOOLTIPS
bool wxApp::Initialize()
{
// the first thing to do is to check if we're trying to run an Unicode
- // program under Win9x w/o MSLU emulation layer - if so, abort right now
+ // program under Win9x w/o MSLU emulation layer - if so, abort right now
// as it has no chance to work
#if wxUSE_UNICODE && !wxUSE_UNICODE_MSLU
if ( wxGetOsVersion() != wxWINDOWS_NT )
wxInitializeStockLists();
wxInitializeStockObjects();
-#if wxUSE_WX_RESOURCES
- wxInitializeResourceSystem();
-#endif
-
wxBitmap::InitStandardHandlers();
#if defined(__WIN95__) && !defined(__WXMICROWIN__)
wxModule::CleanUpModules();
-#if wxUSE_WX_RESOURCES
- wxCleanUpResourceSystem();
-
- // wxDefaultResourceTable->ClearTable();
-#endif
-
wxDeleteStockObjects();
// Destroy all GDI lists, etc.
#endif
delete wxWinHandleHash;
+ wxWinHandleHash = NULL; // Set to null in case anything later tries to ref it.
- // GL: I'm annoyed ... I don't know where to put this and I don't want to
- // create a module for that as it's part of the core.
delete wxPendingEvents;
+ wxPendingEvents = NULL; // Set to null because wxAppBase::wxEvtHandler is destroyed later.
#if wxUSE_THREADS
delete wxPendingEventsLocker;
+ wxPendingEventsLocker = NULL; // Set to null because wxAppBase::wxEvtHandler is destroyed later.
// If we don't do the following, we get an apparent memory leak
#if wxUSE_VALIDATORS
((wxEvtHandler&) wxDefaultValidator).ClearEventLocker();
void wxExit()
{
- wxLogError(_("Fatal error: exiting"));
-
- wxApp::CleanUp();
- exit(0);
+ if ( wxTheApp )
+ {
+ wxTheApp->ExitMainLoop();
+ }
+ else
+ {
+ // what else can we do?
+ exit(-1);
+ }
}
// Yield to incoming messages