Joseph Heenan
Committed by Ben Copsey

Corrected version of adding our own isCancelled method.

@@ -515,16 +515,7 @@ static NSOperationQueue *sharedQueue = nil; @@ -515,16 +515,7 @@ static NSOperationQueue *sharedQueue = nil;
515 515
516 [[self cancelledLock] lock]; 516 [[self cancelledLock] lock];
517 517
518 - if (cancelled) { 518 + if ([self isCancelled] || [self complete]) {
519 - [[self cancelledLock] unlock];  
520 - return;  
521 - }  
522 -  
523 - [self willChangeValueForKey:@"isCancelled"];  
524 - cancelled = YES;  
525 - [self didChangeValueForKey:@"isCancelled"];  
526 -  
527 - if ([self complete]) {  
528 [[self cancelledLock] unlock]; 519 [[self cancelledLock] unlock];
529 return; 520 return;
530 } 521 }
@@ -533,7 +524,10 @@ static NSOperationQueue *sharedQueue = nil; @@ -533,7 +524,10 @@ static NSOperationQueue *sharedQueue = nil;
533 [self cancelLoad]; 524 [self cancelLoad];
534 525
535 [[self retain] autorelease]; 526 [[self retain] autorelease];
536 - 527 + [self willChangeValueForKey:@"isCancelled"];
  528 + cancelled = YES;
  529 + [self didChangeValueForKey:@"isCancelled"];
  530 +
537 [[self cancelledLock] unlock]; 531 [[self cancelledLock] unlock];
538 } 532 }
539 533
@@ -1712,7 +1706,7 @@ static NSOperationQueue *sharedQueue = nil; @@ -1712,7 +1706,7 @@ static NSOperationQueue *sharedQueue = nil;
1712 [[self connectionInfo] setObject:[NSDate dateWithTimeIntervalSinceNow:[self persistentConnectionTimeoutSeconds]] forKey:@"expires"]; 1706 [[self connectionInfo] setObject:[NSDate dateWithTimeIntervalSinceNow:[self persistentConnectionTimeoutSeconds]] forKey:@"expires"];
1713 } 1707 }
1714 1708
1715 - if ([self error]) { 1709 + if ([self isCancelled] || [self error]) {
1716 return; 1710 return;
1717 } 1711 }
1718 1712