From ae999b11ec671b5a12a30f24c0aa6b36978b3fd6 Mon Sep 17 00:00:00 2001 From: David Elliott Date: Tue, 18 Oct 2005 16:02:51 +0000 Subject: [PATCH] Remove sm_cocoaDelegate singleton. We need per-instance data anyway so we may as well make it the target instead of the userInfo. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35942 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/cocoa/timer.h | 1 - src/cocoa/timer.mm | 26 ++++++-------------------- 2 files changed, 6 insertions(+), 21 deletions(-) diff --git a/include/wx/cocoa/timer.h b/include/wx/cocoa/timer.h index 27aa354e6e..626a85635a 100644 --- a/include/wx/cocoa/timer.h +++ b/include/wx/cocoa/timer.h @@ -40,7 +40,6 @@ protected: private: WX_NSTimer m_cocoaNSTimer; - static const wxObjcAutoRefFromAlloc sm_cocoaDelegate; DECLARE_ABSTRACT_CLASS(wxTimer) }; diff --git a/src/cocoa/timer.mm b/src/cocoa/timer.mm index 8f112e17e7..2dfe2cb30a 100644 --- a/src/cocoa/timer.mm +++ b/src/cocoa/timer.mm @@ -36,16 +36,6 @@ IMPLEMENT_CLASS(wxTimer, wxTimerBase) -// ======================================================================== -// wxNSTimerDelegate -// ======================================================================== -@interface wxNSTimerDelegate : NSObject -{ -} - -- (void)onNotify:(NSTimer *)theTimer; -@end // interface wxNSTimerDelegate : NSObject - // ======================================================================== // wxNSTimerData // ======================================================================== @@ -57,6 +47,7 @@ IMPLEMENT_CLASS(wxTimer, wxTimerBase) - (id)init; - (id)initWithWxTimer:(wxTimer*)theTimer; - (wxTimer*)timer; +- (void)onNotify:(NSTimer *)theTimer; @end // interface wxNSTimerData : NSObject @implementation wxNSTimerData : NSObject @@ -80,13 +71,10 @@ IMPLEMENT_CLASS(wxTimer, wxTimerBase) { return m_timer; } -@end -@implementation wxNSTimerDelegate : NSObject - (void)onNotify:(NSTimer *)theTimer { - wxNSTimerData* theData = [theTimer userInfo]; - [theData timer]->Notify(); //wxTimerBase method + m_timer->Notify(); //wxTimerBase method } @end @@ -94,8 +82,6 @@ IMPLEMENT_CLASS(wxTimer, wxTimerBase) // wxTimer // ---------------------------------------------------------------------------- -const wxObjcAutoRefFromAlloc wxTimer::sm_cocoaDelegate = [[wxNSTimerDelegate alloc] init]; - wxTimer::~wxTimer() { Stop(); @@ -112,14 +98,14 @@ bool wxTimer::Start(int millisecs, bool oneShot) wxAutoNSAutoreleasePool thePool; - wxNSTimerData *userInfo = [[wxNSTimerData alloc] initWithWxTimer:this]; + wxNSTimerData *timerData = [[wxNSTimerData alloc] initWithWxTimer:this]; m_cocoaNSTimer = [[NSTimer scheduledTimerWithTimeInterval: millisecs / 1000.0 //seconds - target: wxTimer::sm_cocoaDelegate + target: timerData selector: @selector(onNotify:) - userInfo: userInfo + userInfo: nil repeats: oneShot == false] retain]; - [userInfo release]; + [timerData release]; return IsRunning(); } -- 2.45.2