From 339d76704400a6ea514817d91a2e935a13ecc928 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Wed, 28 Mar 2007 01:52:06 +0000 Subject: handle time wrapping around. --- openbox/event.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'openbox/event.c') diff --git a/openbox/event.c b/openbox/event.c index 75cf5d2e..15724968 100644 --- a/openbox/event.c +++ b/openbox/event.c @@ -1376,3 +1376,15 @@ void event_ignore_queued_enters() } g_slist_free(saved); } + +gboolean event_time_after(Time t1, Time t2) +{ + /* + Timestamp values wrap around (after about 49.7 days). The server, given + its current time is represented by timestamp T, always interprets + timestamps from clients by treating half of the timestamp space as being + later in time than T. + - http://tronche.com/gui/x/xlib/input/pointer-grabbing.html + */ + return t1 >= t2 && t1 <= t2 + (1 << (sizeof(Time)*8-1)); +} -- cgit v1.2.3