[PATCH] services/tests: Vista+ returns fixed 1024x768 WinDisc monitor information.

Francois Gouget fgouget at codeweavers.com
Sun Aug 22 11:18:04 CDT 2021


Unlike Windows XP which returned the actual display information to
non-interactive services.

Signed-off-by: Francois Gouget <fgouget at codeweavers.com>
---
 dlls/user32/sysparams.c           | 4 ++--
 programs/services/tests/service.c | 6 +++---
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/dlls/user32/sysparams.c b/dlls/user32/sysparams.c
index 24e39206746..00282ff27ee 100644
--- a/dlls/user32/sysparams.c
+++ b/dlls/user32/sysparams.c
@@ -3980,12 +3980,12 @@ BOOL CDECL nulldrv_GetMonitorInfo( HMONITOR handle, MONITORINFO *info )
     /* Fallback to report one monitor */
     if (handle == NULLDRV_DEFAULT_HMONITOR)
     {
-        RECT default_rect = {0, 0, 640, 480};
+        RECT default_rect = {0, 0, 1024, 768};
         info->rcMonitor = default_rect;
         info->rcWork = default_rect;
         info->dwFlags = MONITORINFOF_PRIMARY;
         if (info->cbSize >= sizeof(MONITORINFOEXW))
-            lstrcpyW( ((MONITORINFOEXW *)info)->szDevice, L"\\\\.\\DISPLAY1" );
+            lstrcpyW( ((MONITORINFOEXW *)info)->szDevice, L"\\\\.\\WinDisc" );
         return TRUE;
     }
 
diff --git a/programs/services/tests/service.c b/programs/services/tests/service.c
index aa9878b9769..64b7209a293 100644
--- a/programs/services/tests/service.c
+++ b/programs/services/tests/service.c
@@ -148,15 +148,15 @@ static BOOL CALLBACK monitor_enum_proc(HMONITOR hmon, HDC hdc, LPRECT lprc, LPAR
     r = GetMonitorInfoA(hmon, (MONITORINFO*)&mi);
     service_ok(r, "GetMonitorInfo failed.\n");
 
-    service_ok(mi.rcMonitor.left == 0 && mi.rcMonitor.top == 0 && mi.rcMonitor.right >= 640 && mi.rcMonitor.bottom >= 480,
+    service_ok(mi.rcMonitor.left == 0 && mi.rcMonitor.top == 0 && mi.rcMonitor.right == 1024 && mi.rcMonitor.bottom == 768,
                "Unexpected monitor rcMonitor values: {%d,%d,%d,%d}\n",
                mi.rcMonitor.left, mi.rcMonitor.top, mi.rcMonitor.right, mi.rcMonitor.bottom);
 
-    service_ok(mi.rcWork.left == 0 && mi.rcWork.top == 0 && mi.rcWork.right >= 640 && mi.rcWork.bottom >= 480,
+    service_ok(mi.rcWork.left == 0 && mi.rcWork.top == 0 && mi.rcWork.right == 1024 && mi.rcWork.bottom == 768,
                "Unexpected monitor rcWork values: {%d,%d,%d,%d}\n",
                mi.rcWork.left, mi.rcWork.top, mi.rcWork.right, mi.rcWork.bottom);
 
-    service_ok(!strcmp(mi.szDevice, "WinDisc") || !strcmp(mi.szDevice, "\\\\.\\DISPLAY1"),
+    service_ok(!strcmp(mi.szDevice, "\\\\.\\WinDisc"),
                "Unexpected szDevice received: %s\n", mi.szDevice);
 
     service_ok(mi.dwFlags == MONITORINFOF_PRIMARY, "Unexpected secondary monitor info.\n");
-- 
2.20.1




More information about the wine-devel mailing list