#define _WIN32_IE 0x0200
#endif
-#if _WIN32_IE >= 0x0300
+#if _WIN32_IE >= 0x0300 \
+ && !( defined(__MINGW32__) && !wxCHECK_W32API_VERSION( 1, 0 ) )
#include <shlwapi.h>
#endif
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() )
{