extern "C" ulong _EVT_getTicks();
     #define GetMillisecondsTime() _EVT_getTicks()
 #else
-    #define GetMillisecondsTime() wxGetLocalTimeMillis().ToLong()
+//    #define GetMillisecondsTime() wxGetLocalTimeMillis().ToLong()
+    // Suppresses the debug warning in ToLong. FIXME: check
+    // that we don't drastically lose precision
+    #define GetMillisecondsTime() (unsigned long) wxGetLocalTimeMillis().GetValue()
 #endif
 
 // ----------------------------------------------------------------------------
     desc->shotTime = when;
     desc->running = TRUE;
 
-    wxLogTrace("timer", "queued timer %p at tick %i", 
-               desc->timer, when);
+    wxLogTrace("timer", "queued timer %p at tick %ld", 
+               desc->timer, (long) when);
 
     if ( m_timers )
     {
             
             if ( !timerDeleted )
             {
-                wxLogTrace("timer", "notified timer %p sheduled for %i", 
-                           desc->timer, desc->shotTime);
+                wxLogTrace("timer", "notified timer %p sheduled for %ld", 
+                           desc->timer, (long) desc->shotTime);
 
                 desc->deleteFlag = NULL;
                 if ( !oneShot )