[mutter/wip/carlosg/pointer-lock-checks: 72/72] wayland: Unset pointer constraint in the backend before dropping the grab



commit 107e521553c2cefc4b6545ebfb036d8138b620d8
Author: Carlos Garnacho <carlosg gnome org>
Date:   Thu Sep 12 19:20:46 2019 +0200

    wayland: Unset pointer constraint in the backend before dropping the grab
    
    Dropping the grab has the side effect that the pointer will be re-picked,
    and it might find another surface with a pointer constraint. If that were
    the case, the focus change would try to add the pointer constraint before
    the now old focus surface released its own.
    
    Just invert these operations, so the constraint is unset before the repick
    that might enable another pointer constraint.
    
    Closes: https://gitlab.gnome.org/GNOME/mutter/issues/779

 src/wayland/meta-wayland-pointer-constraints.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
---
diff --git a/src/wayland/meta-wayland-pointer-constraints.c b/src/wayland/meta-wayland-pointer-constraints.c
index 22197d58d..837779555 100644
--- a/src/wayland/meta-wayland-pointer-constraints.c
+++ b/src/wayland/meta-wayland-pointer-constraints.c
@@ -419,8 +419,8 @@ meta_wayland_pointer_constraint_disable (MetaWaylandPointerConstraint *constrain
 {
   constraint->is_enabled = FALSE;
   meta_wayland_pointer_constraint_notify_deactivated (constraint);
-  meta_wayland_pointer_end_grab (constraint->grab.pointer);
   meta_backend_set_client_pointer_constraint (meta_get_backend (), NULL);
+  meta_wayland_pointer_end_grab (constraint->grab.pointer);
 }
 
 void


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]