X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/56869c5423170499f9b816c7c2a5a43773e073c7..cd0f218cdd3114dc6770bc9f6703225aabb5a2de:/src/osx/core/timer.cpp diff --git a/src/osx/core/timer.cpp b/src/osx/core/timer.cpp index 2a18cd7ff3..d5d344f795 100644 --- a/src/osx/core/timer.cpp +++ b/src/osx/core/timer.cpp @@ -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;