]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/timer.cpp
Property removal and deletion done from wxPropertyGrid event handler is now postponed...
[wxWidgets.git] / src / msw / timer.cpp
index 4193755d71a08b5ddfb032ac226adf277545548b..5f31b15104b3fb51c758acec118f628818e625b2 100644 (file)
@@ -118,22 +118,12 @@ IMPLEMENT_DYNAMIC_CLASS(wxTimerHiddenWindowModule, wxModule)
 // wxMSWTimerImpl class
 // ----------------------------------------------------------------------------
 
-wxMSWTimerImpl::wxMSWTimerImpl(wxTimer *timer)
-:wxTimerImpl(timer)
-{
-    m_id = GetNewTimerId(this);
-}
-
-wxMSWTimerImpl::~wxMSWTimerImpl()
-{
-    TimerMap().erase(m_id);
-}
-
 bool wxMSWTimerImpl::Start(int milliseconds, bool oneShot)
 {
     if ( !wxTimerImpl::Start(milliseconds, oneShot) )
         return false;
 
+    m_id = GetNewTimerId(this);
     // SetTimer() normally returns just idTimer but this might change in the
     // future so use its return value to be safe
     UINT_PTR ret = ::SetTimer
@@ -157,6 +147,8 @@ bool wxMSWTimerImpl::Start(int milliseconds, bool oneShot)
 void wxMSWTimerImpl::Stop()
 {
     ::KillTimer(wxTimerHiddenWindowModule::GetHWND(), m_id);
+    TimerMap().erase(m_id);
+    m_id = 0;
 }
 
 // ----------------------------------------------------------------------------