git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60733
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
#include "wx/process.h"
#include "wx/thread.h"
#include "wx/apptrait.h"
#include "wx/process.h"
#include "wx/thread.h"
#include "wx/apptrait.h"
- // we must process messages or we'd never get wxWM_PROC_TERMINATED
- traits->AlwaysYield();
+ // we must always process messages for our hidden window or we'd never
+ // get wxWM_PROC_TERMINATED and so this loop would never terminate
+ MSG msg;
+ ::PeekMessage(&msg, data->hWnd, 0, 0, PM_REMOVE);
+
+ // we may also need to process messages for all the other application
+ // windows
+ if ( !(flags & wxEXEC_NOEVENTS) )
+ {
+ wxEventLoopBase * const loop = wxEventLoopBase::GetActive();
+ if ( loop )
+ loop->Yield();
+ }
}
if ( !(flags & wxEXEC_NODISABLE) )
}
if ( !(flags & wxEXEC_NODISABLE) )