[gtk+] W32: Detect ticks wraparound



commit f74f81f06b1b08269120ada349cc57e2af02cd8d
Author: Руслан Ижбулатов <lrn1986 gmail com>
Date:   Wed Apr 22 19:21:53 2015 +0000

    W32: Detect ticks wraparound
    
    https://bugzilla.gnome.org/show_bug.cgi?id=748327

 gdk/win32/gdkevents-win32.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)
---
diff --git a/gdk/win32/gdkevents-win32.c b/gdk/win32/gdkevents-win32.c
index bb2a2de..7639833 100644
--- a/gdk/win32/gdkevents-win32.c
+++ b/gdk/win32/gdkevents-win32.c
@@ -178,7 +178,9 @@ _gdk_win32_get_next_tick (gulong suggested_tick)
 
   if (suggested_tick == 0)
     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;
   else
     return cur_tick = suggested_tick;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]