/////////////////////////////////////////////////////////////////////////////
-// Name:        mgl/timer.cpp
+// Name:        src/generic/timer.cpp
 // Purpose:     wxTimer implementation
 // Author:      Vaclav Slavik
 // Id:          $Id$
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma implementation "timer.h"
-#endif
-
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
 //     is in wxEventLoop::Dispatch().
 // ----------------------------------------------------------------------------
 
+#if wxUSE_TIMER
+
 #include "wx/timer.h"
 
-#if wxUSE_TIMER
+#ifndef WX_PRECOMP
+    #include "wx/log.h"
+#endif
 
-#include "wx/log.h"
 #include "wx/module.h"
 
 // ----------------------------------------------------------------------------
                         QueueTimer(desc, now + desc->timer->GetInterval());
                 }
                 else
+                {
                     desc = m_timers;
+                    if (!desc)
+                        break;
+                }
             }
         }
     }