X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9750481f368dceba820004ab479d31deb4860253..7b28e0ede49ca78e05df6bc6af2d2d8c508f8455:/src/generic/timer.cpp diff --git a/src/generic/timer.cpp b/src/generic/timer.cpp index 640ddfe53d..2f0df9a975 100644 --- a/src/generic/timer.cpp +++ b/src/generic/timer.cpp @@ -7,7 +7,7 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "timer.h" #endif @@ -44,11 +44,22 @@ #define GetMillisecondsTime _EVT_getTicks typedef ulong wxTimerTick_t; -#else + + #define wxTimerTickFmtSpec _T("lu") + #define wxTimerTickPrintfArg(tt) (tt) +#else // !__WXMGL__ #define GetMillisecondsTime wxGetLocalTimeMillis typedef wxLongLong wxTimerTick_t; -#endif + + #if wxUSE_LONGLONG_WX + #define wxTimerTickFmtSpec wxLongLongFmtSpec _T("d") + #define wxTimerTickPrintfArg(tt) (tt.GetValue()) + #else // using native wxLongLong + #define wxTimerTickFmtSpec _T("s") + #define wxTimerTickPrintfArg(tt) (tt.ToString().c_str()) + #endif // wx/native long long +#endif // __WXMGL__/!__WXMGL__ // ---------------------------------------------------------------------------- // helper structures and wxTimerScheduler @@ -64,7 +75,7 @@ public: wxTimer *timer; bool running; wxTimerDesc *next, *prev; - unsigned long shotTime; + wxTimerTick_t shotTime; volatile bool *deleteFlag; // see comment in ~wxTimer }; @@ -91,8 +102,9 @@ void wxTimerScheduler::QueueTimer(wxTimerDesc *desc, wxTimerTick_t when) desc->shotTime = when; desc->running = TRUE; - wxLogTrace( wxT("timer"), wxT("queued timer %p at tick %ld"), - desc->timer, (long) when); + wxLogTrace( wxT("timer"), + wxT("queued timer %p at tick %") wxTimerTickFmtSpec, + desc->timer, wxTimerTickPrintfArg(when)); if ( m_timers ) { @@ -144,8 +156,11 @@ void wxTimerScheduler::NotifyTimers() if ( !timerDeleted ) { - wxLogTrace( wxT("timer"), wxT("notified timer %p sheduled for %ld"), - desc->timer, (long) desc->shotTime); + wxLogTrace( wxT("timer"), + wxT("notified timer %p sheduled for %") + wxTimerTickFmtSpec, + desc->timer, + wxTimerTickPrintfArg(desc->shotTime) ); desc->deleteFlag = NULL; if ( !oneShot )