wxYield() calls OnInternalIdle() of all top level windows

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1905 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 1999-03-12 14:25:45 +00:00
parent 903b682c6b
commit 5f12ae5cd7
2 changed files with 28 additions and 2 deletions

View File

@ -133,7 +133,20 @@ void wxExit()
bool wxYield()
{
while (gtk_events_pending() > 0) gtk_main_iteration();
// it's necessary to call ProcessIdle() to update the frames sizes which
// might have been changed (it also will update other things set from
// OnUpdateUI() which is a nice (and desired) side effect)
for ( wxNode *node = wxTopLevelWindows.GetFirst();
node;
node = node->GetNext() )
{
wxWindow *win = ((wxWindow*)node->GetData());
win->OnInternalIdle();
}
while (gtk_events_pending() > 0)
gtk_main_iteration();
return TRUE;
}

View File

@ -133,7 +133,20 @@ void wxExit()
bool wxYield()
{
while (gtk_events_pending() > 0) gtk_main_iteration();
// it's necessary to call ProcessIdle() to update the frames sizes which
// might have been changed (it also will update other things set from
// OnUpdateUI() which is a nice (and desired) side effect)
for ( wxNode *node = wxTopLevelWindows.GetFirst();
node;
node = node->GetNext() )
{
wxWindow *win = ((wxWindow*)node->GetData());
win->OnInternalIdle();
}
while (gtk_events_pending() > 0)
gtk_main_iteration();
return TRUE;
}