]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/core/timer.cpp
notify the event loop that synthesized events are on the queue, wait for them to...
[wxWidgets.git] / src / osx / core / timer.cpp
index 2a18cd7ff3ca367a43bfa2bc2e67a296bed12eee..d5d344f795f88e25739033877cbf269f46928a62 100644 (file)
@@ -1,10 +1,10 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        sec/osx/core/timer.cpp
+// Name:        src/osx/core/timer.cpp
 // Purpose:     wxTimer implementation using CoreFoundation
 // Author:      Stefan Csomor
 // Modified by:
 // Created:     2008-07-01
-// RCS-ID:      $Id: timer.cpp 54129 2008-06-11 19:30:52Z SC $
+// RCS-ID:      $Id$
 // Copyright:   (c) Stefan Csomor
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
@@ -69,7 +69,7 @@ bool wxOSXTimerImpl::Start( int milliseconds, bool mode )
 
     wxCHECK_MSG( m_milli > 0, false, wxT("invalid value for timer timeout") );
     wxCHECK_MSG( m_info->m_timerRef == NULL, false, wxT("attempting to restart a timer") );
-    
+
     CFGregorianUnits gumilli ;
     memset(&gumilli,0,sizeof(gumilli) );
     gumilli.seconds = m_milli / 1000.0;
@@ -81,15 +81,20 @@ bool wxOSXTimerImpl::Start( int milliseconds, bool mode )
 
     m_info->m_timer = this;
     m_info->m_timerRef = CFRunLoopTimerCreate(
-        kCFAllocatorDefault, 
+        kCFAllocatorDefault,
         CFAbsoluteTimeAddGregorianUnits( CFAbsoluteTimeGetCurrent() , NULL, gumilli ),
         IsOneShot() ? 0 : CFTimeInterval( m_milli / 1000.0 ) ,
         0, 0, wxProcessTimer, &ctx);
-    
+
     wxASSERT_MSG( m_info->m_timerRef != NULL, wxT("unable to create timer"));
-    
-    CFRunLoopAddTimer( CFRunLoopGetMain() // or CFRunLoopGetCurrent() ?
-        , m_info->m_timerRef, kCFRunLoopCommonModes) ;
+
+    CFRunLoopRef runLoop = 0;
+#if wxOSX_USE_IPHONE
+    runLoop = CFRunLoopGetMain();
+#else
+    runLoop = CFRunLoopGetCurrent();
+#endif
+    CFRunLoopAddTimer( runLoop, m_info->m_timerRef, kCFRunLoopCommonModes) ;
 
 
     return true;