W32: Detect ticks wraparound

https://bugzilla.gnome.org/show_bug.cgi?id=748327
This commit is contained in:
Руслан Ижбулатов 2015-04-22 19:21:53 +00:00
parent 83eb36a896
commit f74f81f06b

View File

@ -178,7 +178,9 @@ _gdk_win32_get_next_tick (gulong suggested_tick)
if (suggested_tick == 0) if (suggested_tick == 0)
suggested_tick = GetTickCount (); suggested_tick = GetTickCount ();
if (suggested_tick <= cur_tick) /* Ticks eventually wrap around.
* This works as long as the interval between ticks is < 2147483648ms */
if (suggested_tick <= cur_tick && ((cur_tick - suggested_tick) < 0x7FFFFFFF))
return cur_tick; return cur_tick;
else else
return cur_tick = suggested_tick; return cur_tick = suggested_tick;