+ if ( m_ulId )
+ {
+ if (m_owner)
+ {
+ wxWindow* pWin = (wxWindow*)m_owner;
+
+ ::WinStopTimer(m_Hab, pWin->GetHWND(), m_ulId);
+ }
+ else
+ ::WinStopTimer(m_Hab, NULLHANDLE, m_ulId);
+ wxTimerList.DeleteObject(this);
+ }
+ m_ulId = 0L;
+}
+
+// ----------------------------------------------------------------------------
+// private functions
+// ----------------------------------------------------------------------------
+
+void wxProcessTimer(
+ wxTimer& rTimer
+)
+{
+ //
+ // Avoid to process spurious timer events
+ //
+ if (rTimer.m_ulId == 0L)
+ return;
+
+ if (rTimer.IsOneShot())
+ rTimer.Stop();
+
+ rTimer.Notify();