Skip to content

Commit 3f540f5

Browse files
Dismiss promisedVC from the presentingVC
Fixes mxcl#394. Same fix as prior commit but for the Swift implementation.
1 parent b44f04d commit 3f540f5

File tree

2 files changed

+6
-7
lines changed

2 files changed

+6
-7
lines changed

Categories/UIKit/UIViewController+AnyPromise.m

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,8 @@ + (instancetype)delegateWithPromise:(AnyPromise **)promise;
1313

1414
@implementation UIViewController (PromiseKit)
1515

16-
- (AnyPromise *)promiseViewController:(UIViewController *)vc animated:(BOOL)animated completion:(void (^)(void))block
17-
{
18-
UIViewController *vc2present = vc;
16+
- (AnyPromise *)promiseViewController:(UIViewController *)vc animated:(BOOL)animated completion:(void (^)(void))block {
17+
__kindof UIViewController *vc2present = vc;
1918
AnyPromise *promise = nil;
2019

2120
if ([vc isKindOfClass:NSClassFromString(@"MFMailComposeViewController")]) {

Categories/UIKit/UIViewController+Promise.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ extension UIViewController {
3535
if p.pending {
3636
presentViewController(vc, animated: animated, completion: completion)
3737
p.always {
38-
self.dismissViewControllerAnimated(animated, completion: nil)
38+
vc.presentingViewController!.dismissViewControllerAnimated(animated, completion: nil)
3939
}
4040
}
4141

@@ -48,7 +48,7 @@ extension UIViewController {
4848
if p.pending {
4949
presentViewController(nc, animated: animated, completion: completion)
5050
p.always {
51-
self.dismissViewControllerAnimated(animated, completion: nil)
51+
vc.presentingViewController!.dismissViewControllerAnimated(animated, completion: nil)
5252
}
5353
}
5454
return p
@@ -71,7 +71,7 @@ extension UIViewController {
7171
}
7272
throw Error.NoImageFound
7373
}.always {
74-
self.dismissViewControllerAnimated(animated, completion: nil)
74+
vc.presentingViewController!.dismissViewControllerAnimated(animated, completion: nil)
7575
}
7676
}
7777

@@ -80,7 +80,7 @@ extension UIViewController {
8080
vc.delegate = proxy
8181
presentViewController(vc, animated: animated, completion: completion)
8282
return proxy.promise.always {
83-
self.dismissViewControllerAnimated(animated, completion: nil)
83+
vc.presentingViewController!.dismissViewControllerAnimated(animated, completion: nil)
8484
}
8585
}
8686
}

0 commit comments

Comments
 (0)