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
This commit is contained in:
Carlos Garnacho 2018-12-30 13:34:06 +01:00 committed by Jonas Ådahl
parent 103c469cc9
commit dbe6e01e12

View File

@ -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;
}