X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fa156b74fcb541b979e973bcdd66ff377c0eb6a5..d1c8aaa3ee8e2051ebd20042b7e59a511c276ca2:/src/gtk/app.cpp

diff --git a/src/gtk/app.cpp b/src/gtk/app.cpp
index 75e3cec2be..b452afc77a 100644
--- a/src/gtk/app.cpp
+++ b/src/gtk/app.cpp
@@ -548,7 +548,7 @@ void wxApp::CleanUp()
 
     // check for memory leaks
 #if (defined(__WXDEBUG__) && wxUSE_MEMORY_TRACING) || wxUSE_DEBUG_CONTEXT
-    if (wxDebugContext::CountObjectsLeft() > 0)
+    if (wxDebugContext::CountObjectsLeft(TRUE) > 0)
     {
         wxLogDebug(wxT("There were memory leaks.\n"));
         wxDebugContext::Dump();
@@ -653,6 +653,15 @@ void wxEntryCleanup()
 
 int wxEntry( int argc, char *argv[] )
 {
+#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;