]> granicus.if.org Git - transmission/commitdiff
runs on Tiger again, although blocklist auto-update won't be reliable on Tiger
authorMitchell Livingston <livings124@transmissionbt.com>
Mon, 1 Sep 2008 23:17:30 +0000 (23:17 +0000)
committerMitchell Livingston <livings124@transmissionbt.com>
Mon, 1 Sep 2008 23:17:30 +0000 (23:17 +0000)
macosx/BlocklistScheduler.m
macosx/Controller.m

index 9eeb4820e0ac85eb0fc2b366a5340a787554a31f..bf18ae1226f7d399ec61905d825f0ee21e42dbac 100644 (file)
@@ -24,6 +24,7 @@
 
 #import "BlocklistScheduler.h"
 #import "BlocklistDownloader.h"
+#import "NSApplicationAdditions.h"
 
 //one minute delay before running after option is changed
 #define SMALL_DELAY 60
@@ -69,9 +70,11 @@ BlocklistScheduler * fScheduler = nil;
     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
index d719ba06e6ff159248c332feca34e5aa15e973c9..cfafa34c82bda0a483d5856df9a2bb9f6c3ae315 100644 (file)
@@ -2435,9 +2435,10 @@ static void sleepCallback(void * controller, io_service_t y, natural_t messageTy
     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];
 }