@@ -87,7 +87,7 @@ class MDCAlertControllerImpl extends MDCAlertController {
87
87
clear : Function ;
88
88
_resolveFunction ?: Function ;
89
89
_disableContentInsets : boolean ;
90
- _savedPreferredContentSize : CGSize
90
+ _savedPreferredContentSize : CGSize ;
91
91
viewDidAppear ( animated : boolean ) {
92
92
super . viewDidAppear ( animated ) ;
93
93
if ( this . autoFocusTextField ) {
@@ -105,7 +105,7 @@ class MDCAlertControllerImpl extends MDCAlertController {
105
105
viewDidLayoutSubviews ( ) {
106
106
// we enforce the bounds first
107
107
// 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 ) {
109
109
this . preferredContentSize = this . _savedPreferredContentSize ;
110
110
this . _savedPreferredContentSize = null ;
111
111
}
@@ -581,11 +581,22 @@ function showUIAlertController(alertController: MDCAlertController, options: Dia
581
581
if ( currentView ) {
582
582
currentView = currentView . modal || currentView ;
583
583
584
- let viewController = Application . ios . rootController ;
584
+ let viewController = currentView . viewController ;
585
585
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
+ }
588
598
}
599
+ let v ;
589
600
showingDialogs . push ( alertController ) ;
590
601
if ( viewController ) {
591
602
if ( alertController . popoverPresentationController ) {
0 commit comments