+#include "wx/motif/private.h"
+
+IMPLEMENT_ABSTRACT_CLASS(wxTimer, wxObject)
+
+static wxList wxTimerList(wxKEY_INTEGER);
+
+void wxTimerCallback (wxTimer * timer)
+{
+ // Check to see if it's still on
+ if (!wxTimerList.Find((long)timer))
+ return;
+
+ if (timer->m_id == 0)
+ return; // Avoid to process spurious timer events
+
+ if (!timer->m_oneShot)
+ timer->m_id = XtAppAddTimeOut((XtAppContext) wxTheApp->GetAppContext(),
+ timer->m_milli,
+ (XtTimerCallbackProc) wxTimerCallback,
+ (XtPointer) timer);
+ else
+ timer->m_id = 0;
+
+ timer->Notify();
+}
+
+void wxTimer::Init()