summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Smith <whydoubt@gmail.com>2018-07-20 00:41:43 -0500
committerMarco Trevisan (TreviƱo) <mail@3v1n0.net>2018-08-13 21:00:33 +0200
commit1bfa20929b36d06cc23667d1122175149615b56d (patch)
tree3fa38173e09e259e06fbdf75721593ae898a0786
parentbafc43ca26e4a408ad4d64185c1d6c6779bd3256 (diff)
downloadmutter-1bfa20929b36d06cc23667d1122175149615b56d.tar.gz
backends/x11: Improve grab-device clock updates
meta_backend_x11_grab_device is performing X server clock comparison using the MAX macro, which comes down to a simple greater-than. Use XSERVER_TIME_IS_BEFORE, which is a better macro for X server clock comparisons, as it accounts for 32-bit wrap-around. https://gitlab.gnome.org/GNOME/mutter/merge_requests/174
-rw-r--r--src/backends/x11/meta-backend-x11.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/backends/x11/meta-backend-x11.c b/src/backends/x11/meta-backend-x11.c
index 9a1f35e6e..ed81364e2 100644
--- a/src/backends/x11/meta-backend-x11.c
+++ b/src/backends/x11/meta-backend-x11.c
@@ -547,8 +547,9 @@ meta_backend_x11_grab_device (MetaBackend *backend,
XIEventMask mask = { XIAllMasterDevices, sizeof (mask_bits), mask_bits };
int ret;
- if (timestamp != META_CURRENT_TIME)
- timestamp = MAX (timestamp, priv->latest_evtime);
+ if (timestamp != META_CURRENT_TIME &&
+ XSERVER_TIME_IS_BEFORE (timestamp, priv->latest_evtime))
+ timestamp = priv->latest_evtime;
XISetMask (mask.mask, XI_ButtonPress);
XISetMask (mask.mask, XI_ButtonRelease);