-#else
-
-typedef struct MacTimerInfo
-{
- TMTask m_task;
- wxMacNotifierTableRef m_table;
- wxTimer* m_timer;
-};
-
-static void wxProcessTimer( unsigned long event, void *data );
-
-static pascal void MacTimerProc( TMTask * t )
-{
- MacTimerInfo * tm = (MacTimerInfo*) t;
- wxMacAddEvent( tm->m_table, wxProcessTimer, 0, (void*) tm->m_timer, true );
-}
-
-// we need this array to track timers that are being deleted within the Notify procedure
-// adding the timer before the Notify call and checking after whether it still is in there
-// as the destructor would have removed it from the array
-
-wxArrayPtrVoid gTimersInProcess;
-
-static void wxProcessTimer( unsigned long event, void *data )
-{
- if ( data == NULL )
- return;
-
- wxTimer* timer = (wxTimer*) data;
- if ( timer->IsOneShot() )
- timer->Stop();
-
- gTimersInProcess.Add( timer );
- timer->Notify();
-
- int index = gTimersInProcess.Index( timer );
- if ( index != wxNOT_FOUND )
- {
- gTimersInProcess.RemoveAt( index );
-
- if ( !timer->IsOneShot() && timer->m_info->m_task.tmAddr )
- PrimeTime( (QElemPtr) &timer->m_info->m_task, timer->GetInterval() );
- }
-}
-
-void wxTimer::Init()
-{
- m_info = new MacTimerInfo();
- m_info->m_task.tmAddr = NULL;
- m_info->m_task.tmWakeUp = 0;
- m_info->m_task.tmReserved = 0;
- m_info->m_task.qType = 0;
- m_info->m_table = wxMacGetNotifierTable();
- m_info->m_timer = this;
-}