[mutter/wip/carlosg/locate-pointer-in-other-keybindings: 224/225] keybindings: Avoid double calls to process_event() on the same event



commit 8bd5cd1dd84660ba6309d9dfa0683731ccfa6f58
Author: Carlos Garnacho <carlosg gnome org>
Date:   Thu Mar 12 19:26:37 2020 +0100

    keybindings: Avoid double calls to process_event() on the same event
    
    If you first press a key that triggers the "special modifier key" paths
    (ctrl, super), and then press another key that doesn't match (yet?) any
    keybindings (eg. ctrl+alt, super+x), the second key press goes twice
    through process_event(), once in the processing of this so far special
    combination and another while we let the event through.
    
    In order to keep things consistent, consider the event handled after
    the call to process_event() in process_special_modifier_key().
    
    https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1014

 src/core/keybindings.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
---
diff --git a/src/core/keybindings.c b/src/core/keybindings.c
index 64f392f07..2d1697efc 100644
--- a/src/core/keybindings.c
+++ b/src/core/keybindings.c
@@ -2068,9 +2068,9 @@ process_special_modifier_key (MetaDisplay          *display,
                 XIAllowEvents (xdisplay,
                                clutter_input_device_get_device_id (event->device),
                                XIReplayDevice, event->time);
-
-              return FALSE;
             }
+
+          return FALSE;
         }
       else if (event->type == CLUTTER_KEY_RELEASE)
         {


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