From d6ac41a9f40539645483f111aab2f2a1386c14b2 Mon Sep 17 00:00:00 2001 From: Zhiyi Zhang Date: Fri, 15 Mar 2024 11:02:05 +0800 Subject: [PATCH] win32u: Don't enumerate mirrored monitor clones when unnecessary. These functions don't need to enumerate mirrored monitor clones. --- dlls/win32u/sysparams.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dlls/win32u/sysparams.c b/dlls/win32u/sysparams.c index 6e638922629..07b9d46d9eb 100644 --- a/dlls/win32u/sysparams.c +++ b/dlls/win32u/sysparams.c @@ -2248,7 +2248,7 @@ RECT get_virtual_screen_rect( UINT dpi ) LIST_FOR_EACH_ENTRY( monitor, &monitors, struct monitor, entry ) { - if (!is_monitor_active( monitor )) continue; + if (!is_monitor_active( monitor ) || monitor->is_clone) continue; union_rect( &rect, &rect, &monitor->rc_monitor ); } @@ -2269,7 +2269,7 @@ static BOOL is_window_rect_full_screen( const RECT *rect ) { RECT monrect; - if (!is_monitor_active( monitor )) continue; + if (!is_monitor_active( monitor ) || monitor->is_clone) continue; monrect = map_dpi_rect( monitor->rc_monitor, get_monitor_dpi( monitor->handle ), get_thread_dpi() ); @@ -3558,7 +3558,7 @@ HMONITOR monitor_from_rect( const RECT *rect, UINT flags, UINT dpi ) { RECT intersect, monitor_rect; - if (!is_monitor_active( monitor )) continue; + if (!is_monitor_active( monitor ) || monitor->is_clone) continue; monitor_rect = map_dpi_rect( monitor->rc_monitor, get_monitor_dpi( monitor->handle ), system_dpi ); if (intersect_rect( &intersect, &monitor_rect, &r ))