[PATCH] winex11.drv: Prefer Xinerama handler over XRandr10.
Derek Lesho
dlesho at codeweavers.com
Tue Nov 26 11:57:15 CST 2019
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 at 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;
--
2.24.0
More information about the wine-devel
mailing list