]> granicus.if.org Git - transmission/commitdiff
Do not delay port checking if port forwarding is disabled
authorEric Petit <eric@lapsus.org>
Sat, 6 Sep 2008 15:07:09 +0000 (15:07 +0000)
committerEric Petit <eric@lapsus.org>
Sat, 6 Sep 2008 15:07:09 +0000 (15:07 +0000)
macosx/PortChecker.h
macosx/PortChecker.m
macosx/PrefsController.m

index ad5db3c1075e84319e5672f74d0bc9f65cf212fb..48ad443d9190ca59ddd4dd683a4221d3816013b6 100644 (file)
@@ -44,7 +44,7 @@ typedef enum
     NSTimer * fTimer;
 }
 
-- (id) initForPort: (int) portNumber withDelegate: (id) delegate;
+- (id) initForPort: (int) portNumber delay: (BOOL) delay withDelegate: (id) delegate;
 - (void) cancelProbe;
 
 - (void) callBackWithStatus: (port_status_t) status;
index 3f8c9c490824cda0bd0f585780b98db867fde540..bd5af77a072a96f818ded0a6e978aaa073d8951f 100644 (file)
@@ -30,7 +30,7 @@
 
 @implementation PortChecker
 
-- (id) initForPort: (int) portNumber withDelegate: (id) delegate
+- (id) initForPort: (int) portNumber delay: (BOOL) delay withDelegate: (id) delegate
 {
     if ((self = [super init]))
     {
@@ -39,8 +39,8 @@
         fPortNumber = portNumber;
         fStatus = PORT_STATUS_CHECKING;
         
-        fTimer = [NSTimer scheduledTimerWithTimeInterval: CHECK_FIRE target: self selector: @selector(startProbe)
-                    userInfo: nil repeats: NO];
+        fTimer = [NSTimer scheduledTimerWithTimeInterval: (delay ? CHECK_FIRE : 0.1) target: self
+                    selector: @selector(startProbe) userInfo: nil repeats: NO];
     }
     
     return self;
index 507fe535ac71ba2b0b20a337331cdd13ed2a8fd4..e7dd23d47b40f03fc9a6ac2fe9dac0da08d782bc 100644 (file)
@@ -365,7 +365,8 @@ tr_handle * fHandle;
             [fPortChecker cancelProbe];
             [fPortChecker release];
         }
-        fPortChecker = [[PortChecker alloc] initForPort: fPeerPort withDelegate: self];
+        fPortChecker = [[PortChecker alloc] initForPort: fPeerPort
+            delay: tr_sessionIsPortForwardingEnabled(fHandle) withDelegate: self];
     }
 }