diff options
author | Jeff Smith <whydoubt@gmail.com> | 2018-07-20 00:41:43 -0500 |
---|---|---|
committer | Marco Trevisan (TreviƱo) <mail@3v1n0.net> | 2018-08-13 21:00:33 +0200 |
commit | 1bfa20929b36d06cc23667d1122175149615b56d (patch) | |
tree | 3fa38173e09e259e06fbdf75721593ae898a0786 | |
parent | bafc43ca26e4a408ad4d64185c1d6c6779bd3256 (diff) | |
download | mutter-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.c | 5 |
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); |