+// ----------------------------------------------------------------------------
+// private functions
+// ----------------------------------------------------------------------------
+
+void wxProcessTimer(wxTimer& timer)
+{
+ // Avoid to process spurious timer events
+ if ( timer.id == 0)
+ return;
+
+ if ( timer.oneShot )
+ timer.Stop();
+
+ timer.Notify();
+}
+
+UINT wxTimerProc(HWND WXUNUSED(hwnd), WORD, int idTimer, DWORD)
+{
+ wxNode *node = wxTimerList.Find((long)idTimer);
+
+ wxCHECK_MSG( node, 0, wxT("bogus timer id in wxTimerProc") );
+
+ wxProcessTimer(*(wxTimer *)node->Data());
+
+ return 0;
+}