From: Gabriel Ivăncescu gabrielopcode@gmail.com
And revert back to fullscreen clipping when capture is done, if necessary.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53831 Signed-off-by: Gabriel Ivăncescu gabrielopcode@gmail.com --- dlls/win32u/input.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/dlls/win32u/input.c b/dlls/win32u/input.c index 205b792d784..6365b10f15f 100644 --- a/dlls/win32u/input.c +++ b/dlls/win32u/input.c @@ -1748,6 +1748,9 @@ BOOL set_capture_window( HWND hwnd, UINT gui_flags, HWND *prev_ret ) { user_driver->pSetCapture( hwnd, gui_flags );
+ if (!hwnd) + clip_fullscreen_window( NtUserGetForegroundWindow(), FALSE ); + if (previous) send_message( previous, WM_CAPTURECHANGED, 0, (LPARAM)hwnd );
@@ -2485,6 +2488,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 (NtGetTickCount() - thread_info->clipping_reset < 1000) return FALSE; if (!reset && clipping_cursor && thread_info->clipping_cursor) return FALSE; /* already clipping */