Alexandre Julliard : user32: Don' t process other messages when recursing in peek_message for an internal message .
Alexandre Julliard
julliard at winehq.org
Thu Nov 13 08:51:24 CST 2008
Module: wine
Branch: master
Commit: fe9f688774eb7d53df71282115c839eebe66d8a5
URL: http://source.winehq.org/git/wine.git/?a=commit;h=fe9f688774eb7d53df71282115c839eebe66d8a5
Author: Alexandre Julliard <julliard at winehq.org>
Date: Wed Nov 12 19:56:36 2008 +0100
user32: Don't process other messages when recursing in peek_message for an internal message.
---
dlls/user32/message.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/dlls/user32/message.c b/dlls/user32/message.c
index e049d57..5d3adb8 100644
--- a/dlls/user32/message.c
+++ b/dlls/user32/message.c
@@ -2163,8 +2163,12 @@ static BOOL peek_message( MSG *msg, HWND hwnd, UINT first, UINT last, UINT flags
if (info.msg.message & 0x80000000) /* internal message */
{
if (flags & PM_REMOVE)
+ {
handle_internal_message( info.msg.hwnd, info.msg.message,
info.msg.wParam, info.msg.lParam );
+ /* if this is a nested call return right away */
+ if (first == info.msg.message && last == info.msg.message) return FALSE;
+ }
else
peek_message( msg, info.msg.hwnd, info.msg.message,
info.msg.message, flags | PM_REMOVE, changed_mask );
More information about the wine-cvs
mailing list