X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/65b851bbdd84a412bd47aa6ba7b3a7a131473087..211cc8dc907ee50ca6d383b8df16bba9a4d3ce2d:/src/os2/app.cpp?ds=sidebyside diff --git a/src/os2/app.cpp b/src/os2/app.cpp index bd4b47a6cf..6ef2a2253d 100644 --- a/src/os2/app.cpp +++ b/src/os2/app.cpp @@ -787,15 +787,24 @@ bool wxApp::DoMessage() } #endif // wxUSE_THREADS + // // Process the message - if (!ProcessMessage((WXMSG *)&svCurrentMsg)) - { - ::WinDispatchMsg(vHabmain, (PQMSG)&svCurrentMsg); - } + // + DoMessage((WXMSG *)&svCurrentMsg); } return TRUE; } // end of wxApp::DoMessage +void wxApp::DoMessage( + WXMSG* pMsg +) +{ + if (!ProcessMessage((WXMSG *)&svCurrentMsg)) + { + ::WinDispatchMsg(vHabmain, (PQMSG)&svCurrentMsg); + } +} // end of wxApp::DoMessage + ////////////////////////////////////////////////////////////////////////////// // // Keep trying to process messages until WM_QUIT @@ -985,6 +994,16 @@ void wxApp::OnIdle( 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 (!::WinGetKeyState(MK_LBUTTON) && + !::WinGetKeyState(MK_MBUTTON) && + !::WinGetKeyState(MK_RBUTTON)) + wxDC::ClearCache(); +#endif // wxUSE_DC_CACHEING + // // Send OnIdle events to all windows //