Zhiyi Zhang : winex11.drv: Add virtual desktop display device handler.
Module: wine Branch: master Commit: ec09dcf89594f459dd8d26f3ed2c312294b9911e URL: https://source.winehq.org/git/wine.git/?a=commit;h=ec09dcf89594f459dd8d26f3e... Author: Zhiyi Zhang <zzhang(a)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(a)codeweavers.com> Signed-off-by: Huw Davies <huw(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)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;
participants (1)
-
Alexandre Julliard