From 963d0243de8b230a57da4ce0e0f7a742ac61901d Mon Sep 17 00:00:00 2001 From: Samuel Schultze Date: Tue, 16 May 2023 00:18:29 -0300 Subject: [PATCH] fix(ios): prevent usage of viewControllers that are being dismissed (#10291) --- packages/core/ui/dialogs/index.ios.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/core/ui/dialogs/index.ios.ts b/packages/core/ui/dialogs/index.ios.ts index 1bc18734d..03d258e62 100644 --- a/packages/core/ui/dialogs/index.ios.ts +++ b/packages/core/ui/dialogs/index.ios.ts @@ -45,9 +45,9 @@ function raiseCallback(callback, result) { } function showUIAlertController(alertController: UIAlertController) { - let viewController = ios.rootController; + let viewController = ios.rootController as UIViewController; - while (viewController && viewController.presentedViewController) { + while (viewController && viewController.presentedViewController && !viewController.presentedViewController.beingDismissed) { viewController = viewController.presentedViewController; } @@ -60,7 +60,7 @@ function showUIAlertController(alertController: UIAlertController) { if (alertController.popoverPresentationController) { alertController.popoverPresentationController.sourceView = viewController.view; alertController.popoverPresentationController.sourceRect = CGRectMake(viewController.view.bounds.size.width / 2.0, viewController.view.bounds.size.height / 2.0, 1.0, 1.0); - alertController.popoverPresentationController.permittedArrowDirections = 0; + alertController.popoverPresentationController.permittedArrowDirections = 0 as UIPopoverArrowDirection; } const color = getButtonColors().color;