[mutter/gnome-3-28] wayland: Let IM events go through



commit 928a40f32806f73ae28b052f1d7ec014dccad415
Author: Carlos Garnacho <carlosg gnome org>
Date:   Tue Apr 24 14:22:03 2018 +0200

    wayland: Let IM events go through
    
    These paths implicitly relied on the forwarded IM key events having
    a source_device backed by a real HW device. This assumption is no
    longer held true since commit b5328c977.
    
    Explicitly check the INPUT_METHOD flag so they are handled as they
    should despite not being "real HW" events.

 src/wayland/meta-wayland-seat.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
---
diff --git a/src/wayland/meta-wayland-seat.c b/src/wayland/meta-wayland-seat.c
index dc013c002..7c86739f6 100644
--- a/src/wayland/meta-wayland-seat.c
+++ b/src/wayland/meta-wayland-seat.c
@@ -325,7 +325,8 @@ void
 meta_wayland_seat_update (MetaWaylandSeat    *seat,
                           const ClutterEvent *event)
 {
-  if (!event_from_supported_hardware_device (seat, event) &&
+  if (!(clutter_event_get_flags (event) & CLUTTER_EVENT_FLAG_INPUT_METHOD) &&
+      !event_from_supported_hardware_device (seat, event) &&
       !event_is_synthesized_crossing (event))
     return;
 
@@ -363,7 +364,8 @@ gboolean
 meta_wayland_seat_handle_event (MetaWaylandSeat *seat,
                                 const ClutterEvent *event)
 {
-  if (!event_from_supported_hardware_device (seat, event))
+  if (!(clutter_event_get_flags (event) & CLUTTER_EVENT_FLAG_INPUT_METHOD) &&
+      !event_from_supported_hardware_device (seat, event))
     return FALSE;
 
   switch (event->type)


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