diff --git a/SOURCES/0001-backends-x11-Fix-time-comparison-bug-causing-hang.patch b/SOURCES/0001-backends-x11-Fix-time-comparison-bug-causing-hang.patch new file mode 100644 index 0000000..6a87a0f --- /dev/null +++ b/SOURCES/0001-backends-x11-Fix-time-comparison-bug-causing-hang.patch @@ -0,0 +1,33 @@ +From 05bf09ea4aa5a7dc22869075ea2096c4a293d70d Mon Sep 17 00:00:00 2001 +From: Jeff Smith +Date: Wed, 31 Jan 2018 23:27:19 -0600 +Subject: [PATCH] backends/x11: Fix time-comparison bug causing hang + +A comparison in translate_device_event() does not account for the fact +that X's clock wraps about every 49.7 days. When triggered, this causes +an unresponsive GUI. + +Replace simple less-than comparison with XSERVER_TIME_IS_BEFORE macro, +which accounts for the wrapping of X's clock. + +Closes: https://gitlab.gnome.org/GNOME/mutter/issues/12 +--- + src/backends/x11/meta-backend-x11.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/backends/x11/meta-backend-x11.c b/src/backends/x11/meta-backend-x11.c +index 233532435..f447f785f 100644 +--- a/src/backends/x11/meta-backend-x11.c ++++ b/src/backends/x11/meta-backend-x11.c +@@ -112,7 +112,7 @@ translate_device_event (MetaBackendX11 *x11, + + if (!device_event->send_event && device_event->time != CurrentTime) + { +- if (device_event->time < priv->latest_evtime) ++ if (XSERVER_TIME_IS_BEFORE (device_event->time, priv->latest_evtime)) + { + /* Emulated pointer events received after XIRejectTouch is received + * on a passive touch grab will contain older timestamps, update those +-- +2.17.1 + diff --git a/SPECS/mutter.spec b/SPECS/mutter.spec index cb36e25..fffe527 100644 --- a/SPECS/mutter.spec +++ b/SPECS/mutter.spec @@ -11,7 +11,7 @@ Name: mutter Version: 3.26.2 -Release: 14%{?dist} +Release: 15%{?dist} Summary: Window and compositing manager based on Clutter License: GPLv2+ @@ -45,6 +45,8 @@ Patch14: wacom-pro-pen-3d.patch Patch20: 0008-Add-support-for-quad-buffer-stereo.patch Patch21: 0001-build-Lower-automake-requirement.patch +Patch23: 0001-backends-x11-Fix-time-comparison-bug-causing-hang.patch + # el7 patches Patch100: 0001-Revert-build-Require-libgudev-232.patch Patch101: 0001-rhel7-Fix-build-for-el7.patch @@ -59,7 +61,6 @@ Patch109: 0001-main-be-more-aggressive-in-assuming-X11-backend.patch Patch500: 0001-clutter-stage-don-t-use-deprecated-api.patch - BuildRequires: chrpath BuildRequires: pango-devel BuildRequires: startup-notification-devel @@ -216,6 +217,10 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || : %{_libdir}/pkgconfig/* %changelog +* Tue Jul 17 2018 Florian Müllner - 3.26.2-15 +- Fix time comparison bug causing hang + Resolves: #1601948 + * Tue Apr 17 2018 Carlos Garnacho - 3.26.2-14 - Add support for Wacom Pro Pen 3D styli Resolves: #1568702