X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0d57be459406c2830f6abc9d99ae99166c6d133b..5c3e299e08be35d0f88e6e86c8cee97f07ced3ca:/src/motif/timer.cpp diff --git a/src/motif/timer.cpp b/src/motif/timer.cpp index 1bf9297621..570e4186f9 100644 --- a/src/motif/timer.cpp +++ b/src/motif/timer.cpp @@ -17,13 +17,17 @@ #include "wx/app.h" #include "wx/list.h" +#ifdef __VMS__ +#pragma message disable nosimpint +#endif #include +#ifdef __VMS__ +#pragma message enable nosimpint +#endif #include "wx/motif/private.h" -#if !USE_SHARED_LIBRARY IMPLEMENT_ABSTRACT_CLASS(wxTimer, wxObject) -#endif static wxList wxTimerList(wxKEY_INTEGER); @@ -37,44 +41,41 @@ void wxTimerCallback (wxTimer * timer) 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); + timer->m_id = XtAppAddTimeOut((XtAppContext) wxTheApp->GetAppContext(), + timer->m_milli, + (XtTimerCallbackProc) wxTimerCallback, + (XtPointer) timer); else timer->m_id = 0; - timer->Notify (); + + timer->Notify(); } -wxTimer::wxTimer() +void wxTimer::Init() { m_id = 0; - m_milli = 0 ; - m_id = 0; - m_oneShot = FALSE; + m_milli = 1000; } wxTimer::~wxTimer() { - Stop(); + wxTimer::Stop(); + wxTimerList.DeleteObject(this); } bool wxTimer::Start(int milliseconds, bool mode) { Stop(); - m_oneShot = mode; - if (milliseconds < 0) - milliseconds = m_lastMilli; - - if (milliseconds <= 0) - return FALSE; - - m_lastMilli = m_milli = milliseconds; + (void)wxTimerBase::Start(milliseconds, mode); if (!wxTimerList.Find((long)this)) wxTimerList.Append((long)this, this); - m_id = XtAppAddTimeOut ((XtAppContext) wxTheApp->GetAppContext(), milliseconds, - (XtTimerCallbackProc) wxTimerCallback, (XtPointer) this); + m_id = XtAppAddTimeOut((XtAppContext) wxTheApp->GetAppContext(), + m_milli, + (XtTimerCallbackProc) wxTimerCallback, + (XtPointer) this); return TRUE; }