From 41cb25c5c11cd46ca040aa7668f30b1d2d802cd1 Mon Sep 17 00:00:00 2001
From: Florent Vilmart <florentvilmart@me.com>
Date: Fri, 31 Jul 2015 12:55:56 -0400
Subject: [PATCH 1/2] Fix error 111

---
 Bolts/Common/BFTask.m | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Bolts/Common/BFTask.m b/Bolts/Common/BFTask.m
index a708ef0..8034e59 100644
--- a/Bolts/Common/BFTask.m
+++ b/Bolts/Common/BFTask.m
@@ -337,7 +337,7 @@ NSString *const BFTaskMultipleExceptionsException = @"BFMultipleExceptionsExcept
                 return;
             }
 
-            if ([result isKindOfClass:[BFTask class]]) {
+            if ([NSStringFromClass([(BFTask*)result class]) isEqualToString:@"BFTask"]) {
 
                 id (^setupWithTask) (BFTask *) = ^id(BFTask *task) {
                     if (cancellationToken.cancellationRequested || task.cancelled) {
-- 
GitLab


From cd941f5ef42820a140cadc6bb58566196a9d078b Mon Sep 17 00:00:00 2001
From: Florent Vilmart <florentvilmart@me.com>
Date: Fri, 31 Jul 2015 12:55:56 -0400
Subject: [PATCH 2/2] Fix error 111

---
 Bolts/Common/BFTask.m | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/Bolts/Common/BFTask.m b/Bolts/Common/BFTask.m
index a708ef0..115dcd4 100644
--- a/Bolts/Common/BFTask.m
+++ b/Bolts/Common/BFTask.m
@@ -11,7 +11,7 @@
 #import "BFTask.h"
 
 #import <libkern/OSAtomic.h>
-
+#import <objc/runtime.h>
 #import "Bolts.h"
 
 __attribute__ ((noinline)) void warnBlockingOperationOnMainThread() {
@@ -336,8 +336,10 @@ NSString *const BFTaskMultipleExceptionsException = @"BFMultipleExceptionsExcept
                 tcs.exception = exception;
                 return;
             }
-
-            if ([result isKindOfClass:[BFTask class]]) {
+            NSString * classString = NSStringFromClass([(BFTask*)result class]);
+            Class resultClass = NSClassFromString(classString);
+            Class selfClass  = [self class];
+            if ([resultClass isSubclassOfClass:selfClass]) {
 
                 id (^setupWithTask) (BFTask *) = ^id(BFTask *task) {
                     if (cancellationToken.cancellationRequested || task.cancelled) {
-- 
GitLab