This fixes a regression on XWayland introduced by 914b551's removal of the raised Xinerama priority when query_screens failed.
Ideally, we'd like XWayland to fix their issues with XRandr and Xinerama, but this helps out users until then.
Signed-off-by: Derek Lesho dlesho@codeweavers.com --- dlls/winex11.drv/xrandr.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/dlls/winex11.drv/xrandr.c b/dlls/winex11.drv/xrandr.c index 5616857347..6bbf1b67ee 100644 --- a/dlls/winex11.drv/xrandr.c +++ b/dlls/winex11.drv/xrandr.c @@ -1096,6 +1096,7 @@ void X11DRV_XRandR_Init(void) int event_base, error_base, minor, ret; static int major; Bool ok; + INT priority = 200;
if (major) return; /* already initialized? */ if (!usexrandr) return; /* disabled in config */ @@ -1121,13 +1122,17 @@ void X11DRV_XRandR_Init(void)
if (!pXRRGetScreenResourcesCurrent || xrandr12_init_modes() < 0) #endif + { + /* lower priority below Xinerama if we need to resort to xrandr10 */ + priority = 50; xrandr10_init_modes(); + }
#ifdef HAVE_XRRGETPROVIDERRESOURCES if (ret >= 4 && (major > 1 || (major == 1 && minor >= 4))) { handler.name = "XRandR 1.4"; - handler.priority = 200; + handler.priority = priority; handler.get_gpus = xrandr14_get_gpus; handler.get_adapters = xrandr14_get_adapters; handler.get_monitors = xrandr14_get_monitors;