From dbe6e01e12e26464d999e498eb8d894bf176ed5f Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Sun, 30 Dec 2018 13:34:06 +0100 Subject: [PATCH] core: Separate checks for pointer barriers availability If the check happens on --nested (X11 backend) while there is no X11 display we would get a crash. Since the barriers are non-effective on nested, just take it out into a separate condition. https://gitlab.gnome.org/GNOME/mutter/merge_requests/420 --- src/core/display.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/core/display.c b/src/core/display.c index 754d5a2e9..a9659fe9c 100644 --- a/src/core/display.c +++ b/src/core/display.c @@ -49,6 +49,7 @@ #include "backends/meta-logical-monitor.h" #include "backends/meta-stage-private.h" #include "backends/x11/meta-backend-x11.h" +#include "backends/x11/cm/meta-backend-x11-cm.h" #include "clutter/x11/clutter-x11.h" #include "core/bell.h" #include "core/boxes-private.h" @@ -2597,13 +2598,14 @@ meta_display_supports_extended_barriers (MetaDisplay *display) return TRUE; #endif - if (META_IS_BACKEND_X11 (meta_get_backend ())) + if (META_IS_BACKEND_X11_CM (meta_get_backend ())) { - return (META_X11_DISPLAY_HAS_XINPUT_23 (display->x11_display) && - !meta_is_wayland_compositor()); + if (meta_is_wayland_compositor()) + return FALSE; + + return META_X11_DISPLAY_HAS_XINPUT_23 (display->x11_display); } - g_assert_not_reached (); return FALSE; }