]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk1/app.cpp
Version 0.4 of wxPython for MSW.
[wxWidgets.git] / src / gtk1 / app.cpp
index 291a4e878958bccc3dc934ca9397e177c5b4dfce..501e62597799623320d0ee86cf34880bde0f7130 100644 (file)
@@ -25,7 +25,7 @@
 
 #include "unistd.h"
 
-#ifdef USE_GDK_IMLIB
+#ifdef wxUSE_GDK_IMLIB
 #include "../gdk_imlib/gdk_imlib.h"
 #endif
 
@@ -243,7 +243,7 @@ void wxApp::CommonInit(void)
 {
 
 /*
-#if USE_RESOURCES
+#if wxUSE_RESOURCES
   (void) wxGetResource("wxWindows", "OsVersion", &wxOsVersion);
 #endif
 */
@@ -262,7 +262,7 @@ void wxApp::CommonInit(void)
   wxInitializeResourceSystem();
 
   // For PostScript printing
-#if USE_POSTSCRIPT
+#if wxUSE_POSTSCRIPT
   wxInitializePrintSetupData();
   wxThePrintPaperDatabase = new wxPrintPaperDatabase;
   wxThePrintPaperDatabase->CreateDatabase();
@@ -293,8 +293,6 @@ void wxApp::CommonCleanUp(void)
   wxCleanUpResourceSystem();
 
   wxSystemSettings::Done();
-
-  wxClassInfo::CleanUpClasses();
 }
 
 wxLog *wxApp::CreateLogTarget()
@@ -312,13 +310,9 @@ int wxEntry( int argc, char *argv[] )
 
   wxClassInfo::InitializeClasses();
 
-#if (WXDEBUG && USE_MEMORY_TRACING) || USE_DEBUG_CONTEXT
+#if (WXDEBUG && wxUSE_MEMORY_TRACING) || wxUSE_DEBUG_CONTEXT
 
-#if !defined(_WINDLL)
   streambuf* sBuf = new wxDebugStreamBuf;
-#else
-  streambuf* sBuf = NULL;
-#endif
   ostream* oStr = new ostream(sBuf) ;
   wxDebugContext::SetStream(oStr, sBuf);
 
@@ -348,11 +342,17 @@ int wxEntry( int argc, char *argv[] )
   wxTheApp->argc = argc;
   wxTheApp->argv = argv;
 
+  char name[200];
+  strcpy( name, argv[0] );
+  strcpy( name, wxFileNameFromPath(name) );
+  wxStripExtension( name );
+  wxTheApp->SetAppName( name );
+  
   gtk_set_locale();
   
   gtk_init( &argc, &argv );
 
-#ifdef USE_GDK_IMLIB
+#ifdef wxUSE_GDK_IMLIB
 
   gdk_imlib_init();
 
@@ -386,11 +386,15 @@ int wxEntry( int argc, char *argv[] )
 
   wxDELETE(wxTheApp);
 
-#if (WXDEBUG && USE_MEMORY_TRACING) || USE_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.
+  wxLog *oldLog = wxLog::SetActiveTarget( NULL );
+  if (oldLog) delete oldLog;
+  
+  wxClassInfo::CleanUpClasses();
+  
+  delete[] wxBuffer;
+  
+#if (WXDEBUG && wxUSE_MEMORY_TRACING) || wxUSE_DEBUG_CONTEXT
+  
   if (wxDebugContext::CountObjectsLeft() > 0)
   {
     wxTrace("There were memory leaks.\n");
@@ -398,6 +402,7 @@ int wxEntry( int argc, char *argv[] )
     wxDebugContext::PrintStatistics();
   }
   wxDebugContext::SetStream(NULL, NULL);
+  
 #endif
 
   return retValue;