From: Rémi Bernon <rbernon(a)codeweavers.com> --- dlls/win32u/message.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/dlls/win32u/message.c b/dlls/win32u/message.c index d3ef83785bb..df64e059177 100644 --- a/dlls/win32u/message.c +++ b/dlls/win32u/message.c @@ -3229,7 +3229,10 @@ static BOOL check_queue_masks( UINT wake_mask, UINT changed_mask ) UINT status; while ((status = get_shared_queue( &lock, &queue_shm )) == STATUS_PENDING) - skip = queue_shm->wake_mask == wake_mask && queue_shm->changed_mask == changed_mask; + { + if (queue_shm->wake_mask != wake_mask || queue_shm->changed_mask != changed_mask) skip = FALSE; + else skip = get_tick_count() - (UINT64)queue_shm->access_time / 10000 < 3000; /* avoid hung queue */ + } if (status) return FALSE; return skip; -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/9026