// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
 #pragma implementation "timer.h"
 #endif
 
     wxTimer         *timer;
     bool             running;
     wxTimerDesc     *next, *prev;
-    unsigned long    shotTime;  
+    wxTimerTick_t    shotTime;  
     volatile bool   *deleteFlag; // see comment in ~wxTimer
 };
 
     desc->shotTime = when;
     desc->running = TRUE;
 
-    wxLogTrace( wxT("timer"), wxT("queued timer %p at tick %ld"), 
-               desc->timer, (long) when);
+#ifndef __WXMGL__
+    wxLogTrace( wxT("timer"),
+                wxT("queued timer %p at tick %") wxLongLongFmtSpec _T("d"), 
+               desc->timer,  when.GetValue());
+#endif
 
     if ( m_timers )
     {
             
             if ( !timerDeleted )
             {
-                wxLogTrace( wxT("timer"), wxT("notified timer %p sheduled for %ld"), 
-                           desc->timer, (long) desc->shotTime);
+#ifndef __WXMGL__
+                wxLogTrace( wxT("timer"),
+                            wxT("notified timer %p sheduled for %") wxLongLongFmtSpec _T("d"), 
+                            desc->timer, desc->shotTime.GetValue() );
+#endif
 
                 desc->deleteFlag = NULL;
                 if ( !oneShot )