-  if (millisecs != -1) m_time = millisecs;
-  m_oneShot = oneShot;
-  m_tag = gtk_timeout_add( millisecs, timeout_callback, this );
-};
+    if ( !wxTimerImpl::Start(millisecs, oneShot) )
+        return false;
+
+    wxASSERT_MSG( m_tag == -1, _T("shouldn't be still running") );
+
+    m_tag = gtk_timeout_add( m_milli, timeout_callback, this );