X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6b037754f53cc35e177bf6787bace26c7cecc6e1..4f3449b43280a855e57280e6848610ea9fdaa3bb:/samples/memcheck/memcheck.cpp diff --git a/samples/memcheck/memcheck.cpp b/samples/memcheck/memcheck.cpp index 65d1cbf235..e09ad22ba2 100644 --- a/samples/memcheck/memcheck.cpp +++ b/samples/memcheck/memcheck.cpp @@ -27,7 +27,7 @@ #include "wx/date.h" -#ifdef __WXGTK__ +#if defined(__WXGTK__) || defined(__WXMOTIF__) #include "mondrian.xpm" #endif @@ -35,6 +35,12 @@ #error This program must be compiled in debug mode. #endif +// Normally, new is automatically defined to be the +// debugging version. If not, this does it. +#if !defined(new) && defined(WXDEBUG_NEW) +#define new WXDEBUG_NEW +#endif + // Define a new application type class MyApp: public wxApp { public: @@ -59,11 +65,7 @@ bool MyApp::OnInit(void) MyFrame *frame = new MyFrame((wxFrame *) NULL); // Give it an icon -#ifdef __WXMSW__ - frame->SetIcon(wxIcon("mondrian")); -#else - frame->SetIcon(wxIcon(mondrian_xpm)); -#endif + frame->SetIcon(wxICON(mondrian)); // Make a menubar wxMenu *file_menu = new wxMenu; @@ -82,7 +84,6 @@ bool MyApp::OnInit(void) frame->Show(TRUE); wxDebugContext::SetCheckpoint(); -// wxDebugContext::SetFile("debug.log"); wxString *thing = new wxString; wxDate* date = new wxDate; @@ -92,10 +93,17 @@ bool MyApp::OnInit(void) const char *data = (const char*) thing ; + // On MSW, Dump() crashes if using wxLogGui, + // so use wxLogStderr instead. + wxLog* oldLog = wxLog::SetActiveTarget(new wxLogStderr); + wxDebugContext::PrintClasses(); wxDebugContext::Dump(); wxDebugContext::PrintStatistics(); + // Set back to wxLogGui + delete wxLog::SetActiveTarget(oldLog); + // Don't delete these objects, to force wxApp to flag a memory leak. // delete thing; // delete date;