]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/app.cpp
Initial revision
[wxWidgets.git] / src / msw / app.cpp
index 3adeae2cb4a2f40099f74757021bedf12b638efd..7c9aa3741f93799b8a4027bf12e426c1f1377c4b 100644 (file)
     #define _WIN32_IE 0x0200
 #endif
 
-#if _WIN32_IE >= 0x0300
+#if _WIN32_IE >= 0x0300 \
+    && !( defined(__MINGW32__) && !wxCHECK_W32API_VERSION( 1, 0 ) )
     #include <shlwapi.h>
 #endif
 
@@ -1111,6 +1112,14 @@ void wxApp::OnIdle(wxIdleEvent& event)
     wxLog::FlushActive();
 #endif // wxUSE_LOG
 
+#if wxUSE_DC_CACHEING
+    // automated DC cache management: clear the cached DCs and bitmap
+    // if it's likely that the app has finished with them, that is, we
+    // get an idle event and we're not dragging anything.
+    if (!::GetKeyState(MK_LBUTTON) && !::GetKeyState(MK_MBUTTON) && ::GetKeyState(MK_RBUTTON))
+        wxDC::ClearCache();
+#endif // wxUSE_DC_CACHEING
+
     // Send OnIdle events to all windows
     if ( SendIdleEvents() )
     {