Backport crasher fix from upstream master (#1585360)
This commit is contained in:
parent
be2d959518
commit
fc217509a1
71
0001-frames-Allow-for-unknown-mouse-buttons.patch
Normal file
71
0001-frames-Allow-for-unknown-mouse-buttons.patch
Normal file
@ -0,0 +1,71 @@
|
||||
From 473bf38753221dc0002fae309d2f3f217e96c5f5 Mon Sep 17 00:00:00 2001
|
||||
From: Olivier Fourdan <ofourdan@redhat.com>
|
||||
Date: Tue, 22 May 2018 11:23:13 +0200
|
||||
Subject: [PATCH] frames: Allow for unknown mouse buttons
|
||||
|
||||
Commit 47131b1d ("frames: Handle touch events") introduced an assert to
|
||||
make sure that all mouse button actions are handled in mutter.
|
||||
|
||||
However, mice can have a more than 5 buttons, so simply ignore the
|
||||
"other" actions instead of aborting.
|
||||
|
||||
Fixes: https://gitlab.gnome.org/GNOME/mutter/issues/160
|
||||
---
|
||||
src/ui/frames.c | 15 +++++++++++----
|
||||
1 file changed, 11 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/ui/frames.c b/src/ui/frames.c
|
||||
index 850f2850a..6d7b999be 100644
|
||||
--- a/src/ui/frames.c
|
||||
+++ b/src/ui/frames.c
|
||||
@@ -75,7 +75,8 @@ enum {
|
||||
META_ACTION_CLICK,
|
||||
META_ACTION_RIGHT_CLICK,
|
||||
META_ACTION_MIDDLE_CLICK,
|
||||
- META_ACTION_DOUBLE_CLICK
|
||||
+ META_ACTION_DOUBLE_CLICK,
|
||||
+ META_ACTION_IGNORE
|
||||
};
|
||||
|
||||
static GObject *
|
||||
@@ -974,6 +975,10 @@ get_action (const ClutterEvent *event)
|
||||
return META_ACTION_RIGHT_CLICK;
|
||||
case CLUTTER_BUTTON_MIDDLE:
|
||||
return META_ACTION_MIDDLE_CLICK;
|
||||
+ default:
|
||||
+ meta_verbose ("No action triggered for button %u %s\n",
|
||||
+ event->button.button,
|
||||
+ (event->type == CLUTTER_BUTTON_PRESS) ? "press" : "release");
|
||||
}
|
||||
}
|
||||
else if (event->type == CLUTTER_TOUCH_BEGIN ||
|
||||
@@ -983,7 +988,7 @@ get_action (const ClutterEvent *event)
|
||||
return META_ACTION_CLICK;
|
||||
}
|
||||
|
||||
- g_assert_not_reached ();
|
||||
+ return META_ACTION_IGNORE;
|
||||
}
|
||||
|
||||
static uint32_t
|
||||
@@ -1115,13 +1120,15 @@ handle_press_event (MetaUIFrame *frame,
|
||||
g_assert (event->type == CLUTTER_BUTTON_PRESS ||
|
||||
event->type == CLUTTER_TOUCH_BEGIN);
|
||||
|
||||
+ action = get_action (event);
|
||||
+ if (action == META_ACTION_IGNORE)
|
||||
+ return FALSE;
|
||||
+
|
||||
display = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
|
||||
|
||||
evtime = clutter_event_get_time (event);
|
||||
clutter_event_get_coords (event, &x, &y);
|
||||
control = get_control (frame, x, y);
|
||||
- action = get_action (event);
|
||||
-
|
||||
/* don't do the rest of this if on client area */
|
||||
if (control == META_FRAME_CONTROL_CLIENT_AREA)
|
||||
return FALSE; /* not on the frame, just passed through from client */
|
||||
--
|
||||
2.17.0
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
Name: mutter
|
||||
Version: 3.29.2
|
||||
Release: 1%{?dist}
|
||||
Release: 2%{?dist}
|
||||
Summary: Window and compositing manager based on Clutter
|
||||
|
||||
License: GPLv2+
|
||||
@ -16,6 +16,10 @@ URL: http://www.gnome.org
|
||||
Source0: http://download.gnome.org/sources/%{name}/3.29/%{name}-%{version}.tar.xz
|
||||
|
||||
Patch0: startup-notification.patch
|
||||
# https://gitlab.gnome.org/GNOME/mutter/issues/160
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1585360
|
||||
# https://gitlab.gnome.org/GNOME/mutter/commit/473bf38753221dc0002fae309d2f3f217e96c5f5
|
||||
Patch1: 0001-frames-Allow-for-unknown-mouse-buttons.patch
|
||||
|
||||
BuildRequires: chrpath
|
||||
BuildRequires: pango-devel
|
||||
@ -180,6 +184,9 @@ desktop-file-validate %{buildroot}/%{_datadir}/applications/%{name}.desktop
|
||||
%{_datadir}/mutter/tests
|
||||
|
||||
%changelog
|
||||
* Fri Jun 01 2018 Adam Williamson <awilliam@redhat.com> - 3.29.2-2
|
||||
- Backport crasher fix from upstream master (#1585360)
|
||||
|
||||
* Thu May 24 2018 Florian Müllner <fmuellner@redhat.com> - 3.29.2-1
|
||||
- Update to 3.29.2
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user