X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e99762c031bf2c71af7f856c1d713bce0422acaa..38755449339718307f594d0c92f7d37ce56c908c:/src/os2/app.cpp diff --git a/src/os2/app.cpp b/src/os2/app.cpp index 2260c6d2c6..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" @@ -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