]> git.saurik.com Git - wxWidgets.git/blobdiff - src/unix/timerunx.cpp
make renderer independent of windowing system
[wxWidgets.git] / src / unix / timerunx.cpp
index 12dc0bdf27407a5b9897ce24f5d78fed57d88bab..e742b79486e4533e29afdd450c070b1165e4a741 100644 (file)
@@ -18,6 +18,8 @@
 
 #include "wx/wxprec.h"
 
+#if wxUSE_TIMER
+
 #ifndef WX_PRECOMP
     #include "wx/log.h"
     #include "wx/module.h"
@@ -35,7 +37,7 @@
 #include "wx/unix/private/timer.h"
 
 #include "wx/listimpl.cpp"
-WX_DEFINE_LIST(wxTimerList);
+WX_DEFINE_LIST(wxTimerList)
 
 // trace mask for the debugging messages used here
 #define wxTrace_Timer wxT("timer")
@@ -159,6 +161,11 @@ void wxTimerScheduler::NotifyExpired()
         wxUnixTimerImpl * const timer = s->m_timer;
         if ( timer->IsOneShot() )
         {
+            // the timer needs to be stopped but don't call its Stop() from
+            // here as it would attempt to remove the timer from our list and
+            // we had already done it, so we just need to reset its state
+            timer->MarkStopped();
+
             // don't need it any more
             delete s;
         }
@@ -249,3 +256,5 @@ wxUsecClock_t wxGetLocalTimeUsec()
     return wxGetLocalTimeMillis() * 1000L;
 }
 
+#endif // wxUSE_TIMER
+