Module: wine Branch: master Commit: a75e2b49ca3446045639e933202d71ecdf217095 URL: https://gitlab.winehq.org/wine/wine/-/commit/a75e2b49ca3446045639e933202d71e...
Author: Alexandros Frantzis alexandros.frantzis@collabora.com Date: Tue Nov 14 10:11:15 2023 +0200
win32u: Assume thread dpi for rect in NtUserIsWindowRectFullScreen.
Assume that the window rect passed NtUserIsWindowRectFullScreen is expressed in terms of thread dpi and convert monitor rects accordingly for proper matching.
---
dlls/win32u/sysparams.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/dlls/win32u/sysparams.c b/dlls/win32u/sysparams.c index 4f2a299dd16..b134c5af680 100644 --- a/dlls/win32u/sysparams.c +++ b/dlls/win32u/sysparams.c @@ -2327,11 +2327,16 @@ static BOOL is_window_rect_full_screen( const RECT *rect )
LIST_FOR_EACH_ENTRY( monitor, &monitors, struct monitor, entry ) { + RECT monrect; + if (!(monitor->dev.state_flags & DISPLAY_DEVICE_ACTIVE)) continue;
- if (rect->left <= monitor->rc_monitor.left && rect->right >= monitor->rc_monitor.right && - rect->top <= monitor->rc_monitor.top && rect->bottom >= monitor->rc_monitor.bottom) + monrect = map_dpi_rect( monitor->rc_monitor, get_monitor_dpi( monitor->handle ), + get_thread_dpi() ); + + if (rect->left <= monrect.left && rect->right >= monrect.right && + rect->top <= monrect.top && rect->bottom >= monrect.bottom) { ret = TRUE; break;