From: Zsolt Vadasz zsolt_vadasz@protonmail.com
--- dlls/win32u/input.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/dlls/win32u/input.c b/dlls/win32u/input.c index 0c462f42675..e48be56e02d 100644 --- a/dlls/win32u/input.c +++ b/dlls/win32u/input.c @@ -2470,6 +2470,7 @@ BOOL clip_fullscreen_window( HWND hwnd, BOOL reset ) { struct user_thread_info *thread_info = get_user_thread_info(); MONITORINFO monitor_info = {.cbSize = sizeof(MONITORINFO)}; + HWND captured; RECT rect; HMONITOR monitor; DWORD style; @@ -2486,7 +2487,7 @@ BOOL clip_fullscreen_window( HWND hwnd, BOOL reset )
if (!NtUserGetWindowRect( hwnd, &rect )) return FALSE; if (!NtUserIsWindowRectFullScreen( &rect )) return FALSE; - if (get_capture()) return FALSE; + if ((captured = get_capture()) && captured != hwnd) return FALSE; if (NtGetTickCount() - thread_info->clipping_reset < 1000) return FALSE; if (!reset && clipping_cursor && thread_info->clipping_cursor) return FALSE; /* already clipping */