fix(ios): prevent usage of viewControllers that are being dismissed (#10291)

This commit is contained in:
Samuel Schultze
2023-05-16 00:18:29 -03:00
committed by GitHub
parent 874f6b6e65
commit 963d0243de

View File

@ -45,9 +45,9 @@ function raiseCallback(callback, result) {
} }
function showUIAlertController(alertController: UIAlertController) { 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; viewController = viewController.presentedViewController;
} }
@ -60,7 +60,7 @@ function showUIAlertController(alertController: UIAlertController) {
if (alertController.popoverPresentationController) { if (alertController.popoverPresentationController) {
alertController.popoverPresentationController.sourceView = viewController.view; 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.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; const color = getButtonColors().color;