From a0f429448f31c77762122ffc6b9218ad43ff38c8 Mon Sep 17 00:00:00 2001 From: Maurice Parker Date: Thu, 30 Jan 2020 18:48:51 -0700 Subject: [PATCH] Call completions immediately if the previous WebViewController was deallocated because the iPad was rotated. Issue #1757 --- iOS/Article/ImageTransition.swift | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/iOS/Article/ImageTransition.swift b/iOS/Article/ImageTransition.swift index 0608b3c7b..25951b301 100644 --- a/iOS/Article/ImageTransition.swift +++ b/iOS/Article/ImageTransition.swift @@ -93,11 +93,16 @@ class ImageTransition: NSObject, UIViewControllerAnimatedTransitioning { animations: { imageView.frame = self.originFrame }, completion: { _ in - self.webViewController?.showClickedImage() { - DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) { - imageView.removeFromSuperview() - transitionContext.completeTransition(true) + if let controller = self.webViewController { + controller.showClickedImage() { + DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) { + imageView.removeFromSuperview() + transitionContext.completeTransition(true) + } } + } else { + imageView.removeFromSuperview() + transitionContext.completeTransition(true) } }) }