[mutter] backends/x11: Fix time-comparison bug causing hang
- From: Jonas Ådahl <jadahl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] backends/x11: Fix time-comparison bug causing hang
- Date: Thu, 1 Feb 2018 07:36:34 +0000 (UTC)
commit 6be56de14010b175eba76b6dcaa44184a0d7545c
Author: Jeff Smith <whydoubt gmail com>
Date: Wed Jan 31 23:27:19 2018 -0600
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
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]