X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/05a8bfed08a74e8eeb4f9df97eee818060a9085a..71e483d39adbc1c80ef2fa998bd7f18e1704440c:/src/os2/app.cpp diff --git a/src/os2/app.cpp b/src/os2/app.cpp index cf75302c78..7288a6e08c 100644 --- a/src/os2/app.cpp +++ b/src/os2/app.cpp @@ -27,8 +27,9 @@ #include "wx/msgdlg.h" #include "wx/intl.h" #include "wx/dynarray.h" -# include "wx/wxchar.h" -# include "wx/icon.h" + #include "wx/wxchar.h" + #include "wx/icon.h" + #include "wx/timer.h" #endif #include "wx/log.h" @@ -301,7 +302,7 @@ bool wxApp::RegisterWindowClasses( if (!::WinRegisterClass( vHab ,wxCanvasClassName ,wxWndProc - ,CS_MOVENOTIFY | CS_SIZEREDRAW | CS_HITTEST | CS_SAVEBITS | CS_SYNCPAINT + ,CS_MOVENOTIFY | CS_SIZEREDRAW | CS_HITTEST | CS_SAVEBITS | CS_SYNCPAINT | CS_CLIPCHILDREN ,sizeof(ULONG) )) { @@ -764,7 +765,7 @@ bool wxApp::ProcessMessage( // We must relay Timer events to wxTimer's processing function // if (pMsg->msg == WM_TIMER) - wxTimerProc(NULL, 0, pMsg->mp1, 0); + wxTimerProc(NULL, 0, (int)pMsg->mp1, 0); // // For some composite controls (like a combobox), wndThis might be NULL @@ -962,6 +963,8 @@ void wxExit() wxApp::CleanUp(); } // end of wxExit +static bool gs_inYield = FALSE; + // // Yield to incoming messages // @@ -976,6 +979,8 @@ bool wxYield() // wxLog::Suspend(); + gs_inYield = TRUE; + // // We want to go back to the main message loop // if we see a WM_QUIT. (?) @@ -998,9 +1003,19 @@ bool wxYield() // Let the logs be flashed again // wxLog::Resume(); + gs_inYield = FALSE; return TRUE; } // end of wxYield +// Yield to incoming messages; but fail silently if recursion is detected. +bool wxYieldIfNeeded() +{ + if (gs_inYield) + return FALSE; + + return wxYield(); +} + wxIcon wxApp::GetStdIcon( int nWhich ) const