- for( i=0; i<(gint) g_list_length( fgState.Timers ); i++ )
- g_free( g_list_nth( fgState.Timers, i )->data );
-
- g_list_free( fgState.Timers );
- fgState.Timers = NULL;
-
- /*
- * Destroy the timer itself
- */
- g_timer_stop( fgState.Timer );
- g_timer_destroy( fgState.Timer );
- fgState.Timer = NULL;
+ while ( (timer = fgState.Timers.First) != NULL )
+ {
+ fgListRemove(&fgState.Timers, &timer->Node);
+ free(timer);
+ }