From d07dd399cc67b8b8404a8903844c5a6e62b31f7e Mon Sep 17 00:00:00 2001 From: guibuilder_pel7x64builder0 Date: Tue, 27 Nov 2018 14:32:36 +0100 Subject: [PATCH] mutter package update Signed-off-by: guibuilder_pel7x64builder0 --- ...not-latch-modifiers-on-modifier-keys.patch | 44 +++++++++++++++++++ SPECS/mutter.spec | 8 +++- 2 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 SOURCES/0001-clutter-Do-not-latch-modifiers-on-modifier-keys.patch diff --git a/SOURCES/0001-clutter-Do-not-latch-modifiers-on-modifier-keys.patch b/SOURCES/0001-clutter-Do-not-latch-modifiers-on-modifier-keys.patch new file mode 100644 index 0000000..7a9604e --- /dev/null +++ b/SOURCES/0001-clutter-Do-not-latch-modifiers-on-modifier-keys.patch @@ -0,0 +1,44 @@ +From 67aab7c13812befde061f0d2068b431b04dcbc98 Mon Sep 17 00:00:00 2001 +From: Carlos Garnacho +Date: Wed, 3 Oct 2018 22:43:21 +0200 +Subject: [PATCH] clutter: Do not latch modifiers on modifier keys + +If the user maps eg. Alt+F2 to a pad button, the MetaInputSettings will +send the full Alt press, F2 press, F2 release, Alt release sequence. +However the keycode corresponding to Alt is found in level 1, so the +Shift modifier gets unintendedly latched in addition to the Alt key +press/release pair. + +We could probably improve keycode lookup heuristics so level=0 (and +no modifier latching) is preferred, but we can do without it altogether +for modifier keys. +--- + clutter/clutter/x11/clutter-virtual-input-device-x11.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/clutter/clutter/x11/clutter-virtual-input-device-x11.c b/clutter/clutter/x11/clutter-virtual-input-device-x11.c +index b86ded0d0..e16ba3fd0 100644 +--- a/clutter/clutter/x11/clutter-virtual-input-device-x11.c ++++ b/clutter/clutter/x11/clutter-virtual-input-device-x11.c +@@ -147,14 +147,16 @@ clutter_virtual_input_device_x11_notify_keyval (ClutterVirtualInputDevice *virtu + return; + } + +- if (key_state == CLUTTER_KEY_STATE_PRESSED) ++ if (!_clutter_keymap_x11_get_is_modifier (keymap, keycode) && ++ key_state == CLUTTER_KEY_STATE_PRESSED) + clutter_keymap_x11_latch_modifiers (keymap, level, TRUE); + + XTestFakeKeyEvent (clutter_x11_get_default_display (), + (KeyCode) keycode, + key_state == CLUTTER_KEY_STATE_PRESSED, 0); + +- if (key_state == CLUTTER_KEY_STATE_RELEASED) ++ if (!_clutter_keymap_x11_get_is_modifier (keymap, keycode) && ++ key_state == CLUTTER_KEY_STATE_RELEASED) + clutter_keymap_x11_latch_modifiers (keymap, level, FALSE); + } + +-- +2.19.0 + diff --git a/SPECS/mutter.spec b/SPECS/mutter.spec index 0b9d366..a577c51 100644 --- a/SPECS/mutter.spec +++ b/SPECS/mutter.spec @@ -10,7 +10,7 @@ Name: mutter Version: 3.28.3 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Window and compositing manager based on Clutter License: GPLv2+ @@ -44,6 +44,8 @@ Patch21: 0001-build-Lower-automake-requirement.patch # https://bugzilla.redhat.com/show_bug.cgi?id=1497303 Patch31: 0001-monitor-manager-only-reuse-initial-config-if-monitor.patch +Patch32: 0001-clutter-Do-not-latch-modifiers-on-modifier-keys.patch + # el7 patches Patch100: 0001-Revert-build-Require-libgudev-232.patch Patch101: 0001-rhel7-Fix-build-for-el7.patch @@ -214,6 +216,10 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || : %{_libdir}/pkgconfig/* %changelog +* Wed Oct 10 2018 Carlos Garnacho - 3.28.3-5 +- Do not latch modifiers on modifier keys + Resolves: #1637822 + * Fri Sep 21 2018 Ray Strode - 3.28.3-4 - Fix crasher introduced in the previous build Related: #1497303 1618632