From c021496c156962c29a04b7c03ad5c532dea101ee Mon Sep 17 00:00:00 2001 From: toppk Date: Sat, 28 Sep 2019 10:22:22 -0400 Subject: [PATCH] apply upstream fix for fc31 blocker --- 806.patch | 46 ++++++++++++++++++++++++++++++++++++++++++++++ mutter.spec | 6 +++++- 2 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 806.patch diff --git a/806.patch b/806.patch new file mode 100644 index 0000000..770b77e --- /dev/null +++ b/806.patch @@ -0,0 +1,46 @@ +diff --git a/src/core/keybindings.c b/src/core/keybindings.c +index a5a60e8cde30e395968e7d511d599c5a1e56e731..b86272541bd21782b14b63ea10df783f98388d93 100644 +--- a/src/core/keybindings.c ++++ b/src/core/keybindings.c +@@ -1933,6 +1933,12 @@ invoke_handler (MetaDisplay *display, + NULL); + } + ++static gboolean ++meta_key_binding_has_handler_func (MetaKeyBinding *binding) ++{ ++ return (!!binding->handler->func || !!binding->handler->default_func); ++} ++ + static gboolean + process_event (MetaDisplay *display, + MetaWindow *window, +@@ -1955,6 +1961,12 @@ process_event (MetaDisplay *display, + (!window && binding->flags & META_KEY_BINDING_PER_WINDOW)) + goto not_found; + ++ if (binding->handler == NULL) ++ meta_bug ("Binding %s has no handler\n", binding->name); ++ ++ if (!meta_key_binding_has_handler_func (binding)) ++ goto not_found; ++ + if (display->focus_window && + !(binding->handler->flags & META_KEY_BINDING_NON_MASKABLE)) + { +@@ -1980,12 +1992,9 @@ process_event (MetaDisplay *display, + return TRUE; + } + +- if (binding->handler == NULL) +- meta_bug ("Binding %s has no handler\n", binding->name); +- else +- meta_topic (META_DEBUG_KEYBINDINGS, +- "Running handler for %s\n", +- binding->name); ++ meta_topic (META_DEBUG_KEYBINDINGS, ++ "Running handler for %s\n", ++ binding->name); + + /* Global keybindings count as a let-the-terminal-lose-focus + * due to new window mapping until the user starts diff --git a/mutter.spec b/mutter.spec index 24e5d39..9f3dc5d 100644 --- a/mutter.spec +++ b/mutter.spec @@ -8,7 +8,7 @@ Name: mutter Version: 3.34.0 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Window and compositing manager based on Clutter License: GPLv2+ @@ -24,6 +24,7 @@ Patch1: 792.patch Patch2: clutter-timeline-Use-a-function-to-cancel-the-delay-timeo.patch Patch3: clutter-timeline-Don-t-emit-paused-signal-on-delayed-time.patch Patch4: clutter-actor-Cancel-delayed-timelines-on-removal.patch +Patch5: 806.patch BuildRequires: chrpath @@ -169,6 +170,9 @@ desktop-file-validate %{buildroot}/%{_datadir}/applications/%{name}.desktop %{_datadir}/mutter-%{mutter_api_version}/tests %changelog +* Sat Sep 28 2019 Kenneth Topp - 3.34.0-5 +- Backport fix for dual special modifier keys bug (#1754867) + * Fri Sep 27 2019 Kenneth Topp - 3.34.0-4 - Backport a patch to prevent crash during animations - See upstream issue https://gitlab.gnome.org/GNOME/mutter/issues/815