]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/app.cpp
test for timegm() added
[wxWidgets.git] / src / msw / app.cpp
index 3528af8915a0543eafbe717db1f6991b9dbcef02..b3da445a290bbcf28770db37dd1da7d378503e3f 100644 (file)
@@ -100,7 +100,6 @@ extern wxList WXDLLEXPORT wxPendingDelete;
 extern void wxSetKeyboardHook(bool doIt);
 extern wxCursor *g_globalCursor;
 
-HINSTANCE wxhInstance = 0;
 MSG s_currentMsg;
 wxApp *wxTheApp = NULL;
 
@@ -594,7 +593,17 @@ int wxEntry(WXHINSTANCE hInstance,
     // (another useful flag is _CRTDBG_DELAY_FREE_MEM_DF which doesn't free
     //  deallocated memory which may be used to simulate low-memory condition)
     wxCrtSetDbgFlag(_CRTDBG_LEAK_CHECK_DF);
-
+#ifdef __MWERKS__
+#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
+#endif
     // take everything into a try-except block in release build
     // FIXME other compilers must support Win32 SEH (structured exception
     //       handling) too, just find the appropriate keyword in their docs!
@@ -1217,11 +1226,16 @@ void wxWakeUpIdle()
 {
     // Send the top window a dummy message so idle handler processing will
     // start up again.  Doing it this way ensures that the idle handler
-    // wakes up in the right thread.
+    // wakes up in the right thread (see also wxWakeUpMainThread() which does
+    // the same for the main app thread only)
     wxWindow *topWindow = wxTheApp->GetTopWindow();
-    if ( topWindow ) {
-        HWND hWnd = (HWND)topWindow->GetHWND();
-        ::PostMessage(hWnd, WM_NULL, 0, 0);
+    if ( topWindow )
+    {
+        if ( !::PostMessage(GetHwndOf(topWindow), WM_NULL, 0, 0) )
+        {
+            // should never happen
+            wxLogLastError("PostMessage(WM_NULL)");
+        }
     }
 }
 
@@ -1250,17 +1264,6 @@ wxApp::GetStdIcon(int which) const
     }
 }
 
-
-HINSTANCE wxGetInstance()
-{
-    return wxhInstance;
-}
-
-void wxSetInstance(HINSTANCE hInst)
-{
-    wxhInstance = hInst;
-}
-
 // For some reason, with MSVC++ 1.5, WinMain isn't linked in properly
 // if in a separate file. So include it here to ensure it's linked.
 #if (defined(__VISUALC__) && !defined(__WIN32__)) || (defined(__GNUWIN32__) && !defined(__TWIN32__))