Added YieldIfNeeded
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@9452 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -962,6 +962,8 @@ void wxExit()
|
|||||||
wxApp::CleanUp();
|
wxApp::CleanUp();
|
||||||
} // end of wxExit
|
} // end of wxExit
|
||||||
|
|
||||||
|
static bool gs_inYield = FALSE;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Yield to incoming messages
|
// Yield to incoming messages
|
||||||
//
|
//
|
||||||
@@ -976,6 +978,8 @@ bool wxYield()
|
|||||||
//
|
//
|
||||||
wxLog::Suspend();
|
wxLog::Suspend();
|
||||||
|
|
||||||
|
gs_inYield = TRUE;
|
||||||
|
|
||||||
//
|
//
|
||||||
// We want to go back to the main message loop
|
// We want to go back to the main message loop
|
||||||
// if we see a WM_QUIT. (?)
|
// if we see a WM_QUIT. (?)
|
||||||
@@ -998,9 +1002,19 @@ bool wxYield()
|
|||||||
// Let the logs be flashed again
|
// Let the logs be flashed again
|
||||||
//
|
//
|
||||||
wxLog::Resume();
|
wxLog::Resume();
|
||||||
|
gs_inYield = FALSE;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
} // end of wxYield
|
} // 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(
|
wxIcon wxApp::GetStdIcon(
|
||||||
int nWhich
|
int nWhich
|
||||||
) const
|
) const
|
||||||
|
Reference in New Issue
Block a user