+        // we can't notify the timer from this loop as the timer event handler
+        // could modify m_timers (for example, but not only, by stopping this
+        // timer) which would render our iterators invalid, so do it after the
+        // loop end
+        toNotify.push_back(timer);
+    }
+
+    if ( toNotify.empty() )
+        return false;
+
+    for ( TimerImpls::const_iterator i = toNotify.begin(),
+                                     end = toNotify.end();
+          i != end;
+          ++i )
+    {
+        (*i)->Notify();