From a46804080e8c009c725967c0425b19a304226dd4 Mon Sep 17 00:00:00 2001 From: Vincent Wei Date: Tue, 1 Aug 2023 16:12:31 +0800 Subject: [PATCH] Fix a bug in PeekMessageEx --- src/kernel/message.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/kernel/message.c b/src/kernel/message.c index 7937927b..7dbcc2a8 100644 --- a/src/kernel/message.c +++ b/src/kernel/message.c @@ -953,6 +953,14 @@ checkagain: sem_wait (&pMsgQueue->wait); } + goto checkagain; + } + else { + /* no message, wait again. */ + if (pMsgQueue->OnIdle && !pMsgQueue->OnIdle (pMsgQueue, FALSE)) { + handle_idle_message (pMsgQueue); + } + goto checkagain; } #else /* defined _MGHAVE_VIRTUAL_WINDOW */ @@ -964,6 +972,11 @@ checkagain: } goto checkagain; } + else { + if (!pMsgQueue->OnIdle (pMsgQueue, TRUE)) { + handle_idle_message (pMsgQueue); + } + } #endif /* not defined _MGHAVE_VIRTUAL_WINDOW */ /* no message */