-
-int wxEntryInitGui()
-{
- return wxTheApp->OnInitGui() ? 0 : -1;
-}
-
-
-void wxEntryCleanup()
-{
- wxApp::CleanUp();
-}
-
-
-
-int wxEntry(int argc, char *argv[])
-{
-#ifdef __DJGPP__
- // VS: disable long filenames under DJGPP as the very first thing,
- // since SciTech MGL doesn't like them much...
- wxSetEnv(wxT("LFN"), wxT("N"));
-#endif
-
-#if (defined(__WXDEBUG__) && wxUSE_MEMORY_TRACING) || wxUSE_DEBUG_CONTEXT
- // This seems to be necessary since there are 'rogue'
- // objects present at this point (perhaps global objects?)
- // Setting a checkpoint will ignore them as far as the
- // memory checking facility is concerned.
- // Of course you may argue that memory allocated in globals should be
- // checked, but this is a reasonable compromise.
- wxDebugContext::SetCheckpoint();
-#endif
- int err = wxEntryStart(argc, argv);
- if ( err )
- return err;
-
- if ( !wxTheApp )
- {
- wxCHECK_MSG( wxApp::GetInitializerFunction(), -1,
- wxT("wxWindows error: No initializer - use IMPLEMENT_APP macro.\n") );
-
- wxAppInitializerFunction app_ini = wxApp::GetInitializerFunction();
-
- wxObject *test_app = app_ini();
-
- wxTheApp = (wxApp*) test_app;
- }
-
- wxCHECK_MSG( wxTheApp, -1, wxT("wxWindows error: no application object") );
-
- wxTheApp->argc = argc;
-#if wxUSE_UNICODE
- wxTheApp->argv = new wxChar*[argc+1];
- int mb_argc = 0;
- while (mb_argc < argc)
- {
- wxTheApp->argv[mb_argc] = wxStrdup(wxConvLibc.cMB2WX(argv[mb_argc]));
- mb_argc++;