diff -r 3be241de1630 -r a9dd5ac5ff11 BLIP/BLIPRequest.m --- a/BLIP/BLIPRequest.m Thu Jun 19 16:22:05 2008 -0700 +++ b/BLIP/BLIPRequest.m Mon May 04 23:21:26 2009 -0700 @@ -175,7 +175,7 @@ if( ! (_flags & kBLIP_ERR) ) return nil; - NSMutableDictionary *userInfo = [[self.properties allProperties] mutableCopy]; + NSMutableDictionary *userInfo = [[[self.properties allProperties] mutableCopy] autorelease]; NSString *domain = [userInfo objectForKey: @"Error-Domain"]; int code = [[userInfo objectForKey: @"Error-Code"] intValue]; if( domain==nil || code==0 ) { @@ -255,7 +255,7 @@ - (void) _connectionClosed { [super _connectionClosed]; - if( !_isMine ) { + if( !_isMine && !_complete ) { // Change incoming response to an error: _isMutable = YES; [_properties autorelease]; @@ -263,6 +263,7 @@ [self _setError: BLIPMakeError(kBLIPError_Disconnected, @"Connection closed before response was received")]; _isMutable = NO; + self.complete = YES; // Calls onComplete target } }