@@ -52,7 +52,6 @@ class MDCBottomSheetControllerDelegateImpl extends NSObject {
52
52
// called when clicked on background
53
53
const owner = this . _owner . get ( ) ;
54
54
owner && owner . _unloadBottomSheet ( ) ;
55
-
56
55
}
57
56
bottomSheetControllerStateChangedState ( controller : MDCBottomSheetController , state : MDCSheetState ) {
58
57
// called when swiped
@@ -128,6 +127,11 @@ function layoutView(controller: IMDLayoutViewController, owner: View): void {
128
127
) ;
129
128
const availableSpace = getAvailableSpaceFromParent ( owner , frame ) ;
130
129
130
+ if ( ! availableSpace . fullscreen ) {
131
+ // can happen if we get there after the bottomsheet was removed...
132
+ return ;
133
+ }
134
+
131
135
const startPos = IOSHelper . getPositionFromFrame ( frame ) ;
132
136
const fullscreenPosition = IOSHelper . getPositionFromFrame ( availableSpace . fullscreen ) ;
133
137
const safeAreaPosition = IOSHelper . getPositionFromFrame ( availableSpace . safeArea ) ;
@@ -209,11 +213,12 @@ function getAvailableSpaceFromParent(view: View, frame: CGRect): { safeArea: CGR
209
213
while ( parent && ! parent . viewController && ! ( parent . nativeViewProtected instanceof UIScrollView ) ) {
210
214
parent = parent . parent as View ;
211
215
}
212
-
213
- if ( parent . nativeViewProtected instanceof UIScrollView ) {
214
- scrollView = parent . nativeViewProtected ;
215
- } else if ( parent . viewController ) {
216
- viewControllerView = parent . viewController . view ;
216
+ if ( parent ) {
217
+ if ( parent . nativeViewProtected instanceof UIScrollView ) {
218
+ scrollView = parent . nativeViewProtected ;
219
+ } else if ( parent . viewController ) {
220
+ viewControllerView = parent . viewController . view ;
221
+ }
217
222
}
218
223
}
219
224
0 commit comments