X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e90c1d2a19361551eb07778280f22be3e759cf64..270a909e20a2c652fd816ad14407113ad0319c9d:/src/common/init.cpp diff --git a/src/common/init.cpp b/src/common/init.cpp index 1af0b671f5..0fa42d7d8f 100644 --- a/src/common/init.cpp +++ b/src/common/init.cpp @@ -17,12 +17,18 @@ // headers // ---------------------------------------------------------------------------- -#ifdef __GNUG__ - #pragma implementation "appbase.h" +#include "wx/wxprec.h" + +#ifdef __BORLANDC__ + #pragma hdrstop +#endif //__BORLANDC__ + +#ifndef WX_PRECOMP + #include "wx/app.h" + #include "wx/debug.h" #endif -#include "wx/app.h" -#include "wx/debug.h" +#include "wx/module.h" // ---------------------------------------------------------------------------- // global vars @@ -40,7 +46,7 @@ wxAppInitializerFunction class /* no WXDLLEXPORT */ wxConsoleApp : public wxApp { public: - virtual int OnRun() { wxFAIL_MSG(T("unreachable")); return 0; } + virtual int OnRun() { wxFAIL_MSG(wxT("unreachable")); return 0; } }; // ---------------------------------------------------------------------------- @@ -53,26 +59,71 @@ static size_t gs_nInitCount = 0; // implementation // ============================================================================ +// ---------------------------------------------------------------------------- +// stubs for some GUI functions +// ---------------------------------------------------------------------------- + +void WXDLLEXPORT wxExit() +{ + abort(); +} + +// Yield to other apps/messages +bool WXDLLEXPORT wxYield() +{ + // do nothing + return TRUE; +} + +// Yield to other apps/messages +void WXDLLEXPORT wxWakeUpIdle() +{ + // do nothing +} + +// ---------------------------------------------------------------------------- +// wxBase-specific functions +// ---------------------------------------------------------------------------- + bool WXDLLEXPORT wxInitialize() { - if ( gs_nInitCount++ ) + if ( gs_nInitCount ) { // already initialized return TRUE; } wxASSERT_MSG( !wxTheApp, - T("either call wxInitialize or create app, not both!") ); + wxT("either call wxInitialize or create app, not both!") ); + + wxClassInfo::InitializeClasses(); + + wxModule::RegisterModules(); + if ( !wxModule::InitializeModules() ) + { + return FALSE; + } wxTheApp = new wxConsoleApp; - return wxTheApp != NULL; + if ( !wxTheApp ) + { + return FALSE; + } + + gs_nInitCount++; + + return TRUE; } void WXDLLEXPORT wxUninitialize() { if ( !--gs_nInitCount ) { + wxModule::CleanUpModules(); + + wxClassInfo::CleanUpClasses(); + // delete the application object delete wxTheApp; wxTheApp = (wxApp *)NULL;