Our handling of timers in Gtk was truncating times on 64-bit systems; one
authorjacob <jacob@cda61777-01e9-0310-a592-d414129be87e>
Sat, 23 Jan 2010 12:25:31 +0000 (12:25 +0000)
committerjacob <jacob@cda61777-01e9-0310-a592-d414129be87e>
Sat, 23 Jan 2010 12:25:31 +0000 (12:25 +0000)
symptom was that the terminal window would not update until a focus-change
event. Spotted and patched by Max Kellermann.

git-svn-id: svn://svn.tartarus.org/sgt/putty@8854 cda61777-01e9-0310-a592-d414129be87e

unix/gtkwin.c

index ff6e80c..2fbe4b7 100644 (file)
@@ -1291,14 +1291,14 @@ void notify_remote_exit(void *frontend)
 
 static gint timer_trigger(gpointer data)
 {
-    long now = GPOINTER_TO_INT(data);
+    long now = GPOINTER_TO_SIZE(data);
     long next;
     long ticks;
 
     if (run_timers(now, &next)) {
        ticks = next - GETTICKCOUNT();
        timer_id = gtk_timeout_add(ticks > 0 ? ticks : 1, timer_trigger,
-                                  GINT_TO_POINTER(next));
+                                  GSIZE_TO_POINTER(next));
     }
 
     /*