all repos — openbox @ 3ad050f7d8050a46ad03f8233f1c61ad40be9551

openbox fork - make it a bit more like ryudo

proper logic for event_time_after, and wraparounds and such
Dana Jansens danakj@orodu.net
commit

3ad050f7d8050a46ad03f8233f1c61ad40be9551

parent

bd272698508dd511266bc6a38d2f04b4b6e3d788

1 files changed, 11 insertions(+), 1 deletions(-)

jump to
M openbox/event.copenbox/event.c

@@ -1383,5 +1383,15 @@ 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)); + + /* TIME_HALF is half of the number space of a Time type variable */ +#define TIME_HALF (Time)(1 << (sizeof(Time)*8-1)) + + if (t2 >= TIME_HALF) + /* t2 is in the second half so t1 might wrap around and be smaller than + t2 */ + return t1 >= t2 || t1 < (t2 + TIME_HALF); + else + /* t2 is in the first half so t1 has to come after it */ + return t1 >= t2 && t1 < (t2 + TIME_HALF); }