- /* when getting called from GDK's timer handler we
- are no longer within GDK's grab on the GUI
- thread so we must lock it here ourselves */
+ const bool keepGoing = !timer->IsOneShot();
+ if ( !keepGoing )
+ timer->Stop();
+
+ // When getting called from GDK's timer handler we
+ // are no longer within GDK's grab on the GUI
+ // thread so we must lock it here ourselves.