[mutter/wip/carlosg/input-thread: 95/130] clutter: Update device for the current tool in backends




commit 39fbefdcfffa2f13b7d0049eb61aacf98891b5b8
Author: Carlos Garnacho <carlosg gnome org>
Date:   Fri Oct 23 23:51:42 2020 +0200

    clutter: Update device for the current tool in backends
    
    This should happen deeper in backends, not here in clutter-main.
    
    https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1403

 clutter/clutter/clutter-main.c       | 3 ---
 src/backends/native/meta-seat-impl.c | 3 +++
 src/backends/x11/meta-seat-x11.c     | 3 +++
 3 files changed, 6 insertions(+), 3 deletions(-)
---
diff --git a/clutter/clutter/clutter-main.c b/clutter/clutter/clutter-main.c
index 9ac6d53bff..706fb430ac 100644
--- a/clutter/clutter/clutter-main.c
+++ b/clutter/clutter/clutter-main.c
@@ -1912,9 +1912,6 @@ _clutter_process_event_details (ClutterActor        *stage,
 
       case CLUTTER_PROXIMITY_IN:
       case CLUTTER_PROXIMITY_OUT:
-        clutter_input_device_update_from_tool (clutter_event_get_source_device (event),
-                                               clutter_event_get_device_tool (event));
-
         if (_clutter_event_process_filters (event))
           break;
 
diff --git a/src/backends/native/meta-seat-impl.c b/src/backends/native/meta-seat-impl.c
index 32773a4781..7329568f95 100644
--- a/src/backends/native/meta-seat-impl.c
+++ b/src/backends/native/meta-seat-impl.c
@@ -1656,6 +1656,9 @@ input_device_update_tool (ClutterInputDevice          *input_device,
 
   if (evdev_device->last_tool != tool)
     {
+      if (tool)
+        clutter_input_device_update_from_tool (input_device, tool);
+
       evdev_device->last_tool = tool;
       g_signal_emit_by_name (seat_impl->seat_native, "tool-changed",
                              input_device, tool);
diff --git a/src/backends/x11/meta-seat-x11.c b/src/backends/x11/meta-seat-x11.c
index f437ef16d5..4437a247a8 100644
--- a/src/backends/x11/meta-seat-x11.c
+++ b/src/backends/x11/meta-seat-x11.c
@@ -960,6 +960,9 @@ translate_property_event (MetaSeatX11 *seat_x11,
 
       meta_input_device_x11_update_tool (device, tool);
       g_signal_emit_by_name (seat_x11, "tool-changed", device, tool);
+
+      if (tool)
+        clutter_input_device_update_from_tool (device, tool);
     }
 }
 


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