Zhiyi Zhang : winex11.drv: Add virtual desktop display device handler.

Alexandre Julliard julliard at winehq.org
Mon Sep 23 15:22:34 CDT 2019


Module: wine
Branch: master
Commit: ec09dcf89594f459dd8d26f3ed2c312294b9911e
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=ec09dcf89594f459dd8d26f3ed2c312294b9911e

Author: Zhiyi Zhang <zzhang at codeweavers.com>
Date:   Fri Sep 20 16:54:50 2019 +0800

winex11.drv: Add virtual desktop display device handler.

The virtual desktop display device handler is actually the
Xinerama handler, but with a much higher priority. So that
it will be preferred in virtual desktop mode when other display
device handlers are introduced, e.g., the XRandR handler.

Signed-off-by: Zhiyi Zhang <zzhang at codeweavers.com>
Signed-off-by: Huw Davies <huw at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/winex11.drv/xinerama.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/dlls/winex11.drv/xinerama.c b/dlls/winex11.drv/xinerama.c
index 370d34e9cd..8e08221343 100644
--- a/dlls/winex11.drv/xinerama.c
+++ b/dlls/winex11.drv/xinerama.c
@@ -304,6 +304,7 @@ void xinerama_init( unsigned int width, unsigned int height )
 {
     struct x11drv_display_device_handler handler;
     MONITORINFOEXW *primary;
+    BOOL desktop_mode = FALSE;
     int i;
     RECT rect;
 
@@ -318,6 +319,7 @@ void xinerama_init( unsigned int width, unsigned int height )
             query_desktop_work_area( &default_monitor.rcWork );
         nb_monitors = 1;
         monitors = &default_monitor;
+        desktop_mode = TRUE;
     }
 
     primary = get_primary();
@@ -334,8 +336,8 @@ void xinerama_init( unsigned int width, unsigned int height )
                (monitors[i].dwFlags & MONITORINFOF_PRIMARY) ? " (primary)" : "" );
     }
 
-    handler.name = "Xinerama";
-    handler.priority = 100;
+    handler.name = desktop_mode ? "Desktop" : "Xinerama";
+    handler.priority = desktop_mode ? 1000 : 100;
     handler.pGetGpus = xinerama_get_gpus;
     handler.pGetAdapters = xinerama_get_adapters;
     handler.pGetMonitors = xinerama_get_monitors;




More information about the wine-cvs mailing list