Module: wine Branch: master Commit: fe9f688774eb7d53df71282115c839eebe66d8a5 URL: http://source.winehq.org/git/wine.git/?a=commit;h=fe9f688774eb7d53df71282115...
Author: Alexandre Julliard julliard@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 );