#import "BlocklistScheduler.h"
#import "BlocklistDownloader.h"
+#import "NSApplicationAdditions.h"
//one minute delay before running after option is changed
#define SMALL_DELAY 60
fTimer = [[NSTimer alloc] initWithFireDate: useDate interval: 0 target: self selector: @selector(runUpdater)
userInfo: nil repeats: NO];
- [[NSRunLoop mainRunLoop] addTimer: fTimer forMode: NSDefaultRunLoopMode];
- [[NSRunLoop mainRunLoop] addTimer: fTimer forMode: NSModalPanelRunLoopMode];
- [[NSRunLoop mainRunLoop] addTimer: fTimer forMode: NSEventTrackingRunLoopMode];
+ //current run loop usually means a second update won't work
+ NSRunLoop * loop = [NSApp isOnLeopardOrBetter] ? [NSRunLoop mainRunLoop] : [NSRunLoop currentRunLoop];
+ [loop addTimer: fTimer forMode: NSDefaultRunLoopMode];
+ [loop addTimer: fTimer forMode: NSModalPanelRunLoopMode];
+ [loop addTimer: fTimer forMode: NSEventTrackingRunLoopMode];
}
- (void) cancelSchedule
fSpeedLimitTimer = [[NSTimer alloc] initWithFireDate: dateToUse interval: 0 target: self selector: @selector(autoSpeedLimit:)
userInfo: [NSNumber numberWithBool: nextIsLimit] repeats: NO];
- [[NSRunLoop mainRunLoop] addTimer: fSpeedLimitTimer forMode: NSDefaultRunLoopMode];
- [[NSRunLoop mainRunLoop] addTimer: fSpeedLimitTimer forMode: NSModalPanelRunLoopMode];
- [[NSRunLoop mainRunLoop] addTimer: fSpeedLimitTimer forMode: NSEventTrackingRunLoopMode];
+ NSRunLoop * loop = [NSApp isOnLeopardOrBetter] ? [NSRunLoop mainRunLoop] : [NSRunLoop currentRunLoop];
+ [loop addTimer: fSpeedLimitTimer forMode: NSDefaultRunLoopMode];
+ [loop addTimer: fSpeedLimitTimer forMode: NSModalPanelRunLoopMode];
+ [loop addTimer: fSpeedLimitTimer forMode: NSEventTrackingRunLoopMode];
[fSpeedLimitTimer release];
}