[mutter] MetaWaylandPointer: Initialize default grab on init
- From: Jonas Ådahl <jadahl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] MetaWaylandPointer: Initialize default grab on init
- Date: Thu, 15 Sep 2016 02:32:36 +0000 (UTC)
commit 98f0578f9db0e0bf6633c7f69639cfe4f74605b7
Author: Jonas Ådahl <jadahl gmail com>
Date: Mon Sep 12 23:22:23 2016 +0800
MetaWaylandPointer: Initialize default grab on init
Instead of initializing the default grab when the device class is
enabled, initialize it on object initialization. This way other device
classes can still grab the pointer, as if there was one. This may be
useful for example if a touch grab is active and a mouse is connected.
This also makes it possible for popup grabs, which currently use a
pointer grab for controlling, to be triggered by touch devices, while
still holding an active pointer grab.
https://bugzilla.gnome.org/show_bug.cgi?id=771305
src/wayland/meta-wayland-pointer.c | 9 ++++-----
1 files changed, 4 insertions(+), 5 deletions(-)
---
diff --git a/src/wayland/meta-wayland-pointer.c b/src/wayland/meta-wayland-pointer.c
index d2cb01d..107b77c 100644
--- a/src/wayland/meta-wayland-pointer.c
+++ b/src/wayland/meta-wayland-pointer.c
@@ -469,10 +469,6 @@ meta_wayland_pointer_enable (MetaWaylandPointer *pointer)
pointer->cursor_surface = NULL;
- pointer->default_grab.interface = &default_pointer_grab_interface;
- pointer->default_grab.pointer = pointer;
- pointer->grab = &pointer->default_grab;
-
manager = clutter_device_manager_get_default ();
pointer->device = clutter_device_manager_get_core_device (manager, CLUTTER_POINTER_DEVICE);
@@ -497,7 +493,7 @@ meta_wayland_pointer_disable (MetaWaylandPointer *pointer)
pointer->cursor_surface_destroy_id);
}
- meta_wayland_pointer_set_focus (pointer, NULL);
+ meta_wayland_pointer_end_grab (pointer);
g_clear_pointer (&pointer->pointer_clients, g_hash_table_unref);
pointer->cursor_surface = NULL;
@@ -1216,6 +1212,9 @@ meta_wayland_pointer_get_seat (MetaWaylandPointer *pointer)
static void
meta_wayland_pointer_init (MetaWaylandPointer *pointer)
{
+ pointer->default_grab.interface = &default_pointer_grab_interface;
+ pointer->default_grab.pointer = pointer;
+ pointer->grab = &pointer->default_grab;
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]