From 0e2f1b3efb2a570d224af9fd9ed5db40b04457bb Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Wed, 23 Jul 2003 19:06:27 +0000 Subject: [PATCH] attempt to fix waiting for a thread in another non-main thread git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22260 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/msw/thread.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/msw/thread.cpp b/src/msw/thread.cpp index c166f73cf5..52b3291077 100644 --- a/src/msw/thread.cpp +++ b/src/msw/thread.cpp @@ -818,7 +818,15 @@ wxThreadInternal::WaitForTerminate(bool shouldCancel, break; case WAIT_OBJECT_0 + 1: - // new message arrived, process it + // new message arrived, process it -- but only if we're the + // main thread as we don't support processing messages in + // the other ones + // + // NB: we still must include QS_ALLINPUT even when waiting + // in a secondary thread because if it had created some + // window somehow (possible not even using wxWindows) + // the system might dead lock then + if ( IsMain() ) { // it looks that sometimes WAIT_OBJECT_0 + 1 is // returned but there are no messages in the thread -- 2.47.2