Merge pull request #655 from nsforge/master

Fixed retain cycles that the Xcode4.6DP compiler detected
This commit is contained in:
Mattt Thompson 2012-12-26 07:41:13 -08:00
commit 4fd322e52d
2 changed files with 4 additions and 3 deletions

View file

@ -571,8 +571,9 @@ static void AFNetworkReachabilityReleaseCallback(__unused const void *info) {}
for (AFHTTPRequestOperation *operation in operations) { for (AFHTTPRequestOperation *operation in operations) {
AFCompletionBlock originalCompletionBlock = [operation.completionBlock copy]; AFCompletionBlock originalCompletionBlock = [operation.completionBlock copy];
__weak AFHTTPRequestOperation *weakOperation = operation;
operation.completionBlock = ^{ operation.completionBlock = ^{
dispatch_queue_t queue = operation.successCallbackQueue ?: dispatch_get_main_queue(); dispatch_queue_t queue = weakOperation.successCallbackQueue ?: dispatch_get_main_queue();
dispatch_group_async(dispatchGroup, queue, ^{ dispatch_group_async(dispatchGroup, queue, ^{
if (originalCompletionBlock) { if (originalCompletionBlock) {
originalCompletionBlock(); originalCompletionBlock();

View file

@ -82,7 +82,7 @@ static dispatch_queue_t image_request_operation_processing_queue() {
dispatch_async(image_request_operation_processing_queue(), ^(void) { dispatch_async(image_request_operation_processing_queue(), ^(void) {
UIImage *processedImage = imageProcessingBlock(image); UIImage *processedImage = imageProcessingBlock(image);
dispatch_async(requestOperation.successCallbackQueue ?: dispatch_get_main_queue(), ^(void) { dispatch_async(operation.successCallbackQueue ?: dispatch_get_main_queue(), ^(void) {
success(operation.request, operation.response, processedImage); success(operation.request, operation.response, processedImage);
}); });
}); });
@ -113,7 +113,7 @@ static dispatch_queue_t image_request_operation_processing_queue() {
dispatch_async(image_request_operation_processing_queue(), ^(void) { dispatch_async(image_request_operation_processing_queue(), ^(void) {
NSImage *processedImage = imageProcessingBlock(image); NSImage *processedImage = imageProcessingBlock(image);
dispatch_async(requestOperation.successCallbackQueue ?: dispatch_get_main_queue(), ^(void) { dispatch_async(operation.successCallbackQueue ?: dispatch_get_main_queue(), ^(void) {
success(operation.request, operation.response, processedImage); success(operation.request, operation.response, processedImage);
}); });
}); });