From: Conor McCarthy cmccarthy@codeweavers.com
To avoid getting the same info three times. --- dlls/win32u/sysparams.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/dlls/win32u/sysparams.c b/dlls/win32u/sysparams.c index 34df99f1238..902516bd8bf 100644 --- a/dlls/win32u/sysparams.c +++ b/dlls/win32u/sysparams.c @@ -2736,9 +2736,12 @@ struct window_rects map_window_rects_virt_to_raw( struct window_rects rects, UIN if (!lock_display_devices( FALSE )) return rects; if ((monitor = get_monitor_from_rect( rects.window, MONITOR_DEFAULTTONEAREST, dpi_from, MDT_DEFAULT ))) { - rects.visible = map_monitor_rect( monitor, rects.visible, dpi_from, MDT_DEFAULT, 0, MDT_RAW_DPI ); - rects.window = map_monitor_rect( monitor, rects.window, dpi_from, MDT_DEFAULT, 0, MDT_RAW_DPI ); - rects.client = map_monitor_rect( monitor, rects.client, dpi_from, MDT_DEFAULT, 0, MDT_RAW_DPI ); + struct monitor_map_info info; + + monitor_get_map_info( monitor, dpi_from, MDT_DEFAULT, 0, MDT_RAW_DPI, &info ); + rects.visible = map_monitor_rect_from_info( rects.visible, &info ); + rects.window = map_monitor_rect_from_info( rects.window, &info ); + rects.client = map_monitor_rect_from_info( rects.client, &info ); } /* if the visible rect is fullscreen, make it cover the full raw monitor, regardless of aspect ratio */ LIST_FOR_EACH_ENTRY(monitor, &monitors, struct monitor, entry)