@@ -87,7 +87,7 @@ class MDCAlertControllerImpl extends MDCAlertController {
8787 clear : Function ;
8888 _resolveFunction ?: Function ;
8989 _disableContentInsets : boolean ;
90- _savedPreferredContentSize : CGSize
90+ _savedPreferredContentSize : CGSize ;
9191 viewDidAppear ( animated : boolean ) {
9292 super . viewDidAppear ( animated ) ;
9393 if ( this . autoFocusTextField ) {
@@ -105,7 +105,7 @@ class MDCAlertControllerImpl extends MDCAlertController {
105105 viewDidLayoutSubviews ( ) {
106106 // we enforce the bounds first
107107 // when showing a modal on top of us and then hiding the modal, our size gets messed up
108- if ( this . _savedPreferredContentSize ) {
108+ if ( this . _savedPreferredContentSize ) {
109109 this . preferredContentSize = this . _savedPreferredContentSize ;
110110 this . _savedPreferredContentSize = null ;
111111 }
@@ -581,11 +581,22 @@ function showUIAlertController(alertController: MDCAlertController, options: Dia
581581 if ( currentView ) {
582582 currentView = currentView . modal || currentView ;
583583
584- let viewController = Application . ios . rootController ;
584+ let viewController = currentView . viewController ;
585585
586- while ( viewController && viewController . presentedViewController ) {
587- viewController = viewController . presentedViewController ;
586+ while ( viewController . presentedViewController ) {
587+ while (
588+ viewController . presentedViewController instanceof UIAlertController ||
589+ ( viewController . presentedViewController [ 'isAlertController' ] && viewController . presentedViewController . presentedViewController )
590+ ) {
591+ viewController = viewController . presentedViewController ;
592+ }
593+ if ( viewController . presentedViewController instanceof UIAlertController || viewController . presentedViewController [ 'isAlertController' ] ) {
594+ break ;
595+ } else {
596+ viewController = viewController . presentedViewController ;
597+ }
588598 }
599+ let v ;
589600 showingDialogs . push ( alertController ) ;
590601 if ( viewController ) {
591602 if ( alertController . popoverPresentationController ) {
0 commit comments