Don't rely on getting WM_NULL messages in wxIdleWakeUpModule

Since the switch to using an event object for idle handling wakeup,
WM_NULLs are not being sent any longer, so wxIdleWakeUpModule didn't do
anything, resulting in pending event dispatching being paused while our
event loop was not running, as it happened, for example, while the
window was resized.

See #17579.
This commit is contained in:
Vadim Zeitlin
2018-01-13 17:33:09 +01:00
parent 91aed00288
commit 9b4759d7b6
5 changed files with 31 additions and 13 deletions

View File

@@ -71,6 +71,11 @@ void wxMSWEventLoopBase::WakeUp()
wxLogLastError(wxS("SetEvent(wake)"));
}
bool wxMSWEventLoopBase::MSWIsWakeUpRequested()
{
return ::WaitForSingleObject(m_heventWake, 0) == WAIT_OBJECT_0;
}
#if wxUSE_THREADS
WXDWORD wxMSWEventLoopBase::MSWWaitForThread(WXHANDLE hThread)