From a41ae88c095a56a92f25d3297a2272868da23bc0 Mon Sep 17 00:00:00 2001 From: Jeff Smith Date: Fri, 20 Jul 2018 00:41:43 -0500 Subject: [PATCH 10/75] 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 (cherry picked from commit 1bfa20929b36d06cc23667d1122175149615b56d) --- src/backends/x11/meta-backend-x11.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/backends/x11/meta-backend-x11.c b/src/backends/x11/meta-backend-x11.c index 2b131d2d0..ce8b58cff 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 != CurrentTime) - timestamp = MAX (timestamp, priv->latest_evtime); + if (timestamp != CurrentTime && + XSERVER_TIME_IS_BEFORE (timestamp, priv->latest_evtime)) + timestamp = priv->latest_evtime; XISetMask (mask.mask, XI_ButtonPress); XISetMask (mask.mask, XI_ButtonRelease); -- 2.21.0