X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/bb2775b9e8bc1b882d9a5c7ffe68371717b9e5dc..3c01c5951189e13b8b4a5d7b288b54d4a57a30f8:/samples/mfc/mfctest.cpp diff --git a/samples/mfc/mfctest.cpp b/samples/mfc/mfctest.cpp index 7a3f3d34e4..a4102648a9 100644 --- a/samples/mfc/mfctest.cpp +++ b/samples/mfc/mfctest.cpp @@ -38,8 +38,21 @@ // // nmake -f makefile.vc BUILD=debug SHARED=0 DEBUG_RUNTIME_LIBS=0 RUNTIME_LIBS=static all // -// Unless the run-time library settings match for wxWidgets and MFC, you will get -// link errors for symbols such as __mbctype, __argc, and __argv +// Unless the run-time library settings match for wxWidgets and MFC, you +// will get link errors for symbols such as __mbctype, __argc, and __argv +// +// (3) If you see bogus memory leaks within the MSVC IDE on exit, in this +// sample or in your own project, you must be using __WXDEBUG__ + +// WXUSINGDLL + _AFXDLL +// Unfortunately this confuses the MSVC/MFC leak detector. To do away with +// these bogus memory leaks, add this to the list of link objects, make it +// first: mfc[version][u]d.lib +// - [version] -> 42 or 70 or 80 etc +// - u if using Unicode +// +// (4) Unicode builds may produce the linker error "unresolved external symbol _WinMain@16". +// MFC requires you to manually add the Unicode entry point to the linker settings, +// Entry point symbol -> wWinMainCRTStartup #include "stdafx.h" @@ -214,7 +227,8 @@ int CTheApp::ExitInstance() // Override this to provide wxWidgets message loop compatibility BOOL CTheApp::PreTranslateMessage(MSG *msg) { - wxEventLoop *evtLoop = wxEventLoop::GetActive(); + wxEventLoop * const + evtLoop = static_cast(wxEventLoop::GetActive()); if ( evtLoop && evtLoop->PreProcessMessage(msg) ) return TRUE; @@ -232,6 +246,9 @@ BOOL CTheApp::OnIdle(LONG WXUNUSED(lCount)) bool MyApp::OnInit() { + if ( !wxApp::OnInit() ) + return false; + #if !START_WITH_MFC_WINDOW // as we're not inside wxWidgets main loop, the default logic doesn't work // in our case and we need to do this explicitly