react-native
react-native copied to clipboard
fix a crash in <Modal /> component
Summary: changelog: [Android][Fixed] - fix a crash in Modal component
Instance variable propertyRequiresNewDialog in ReactModalHostView controls if new dialog will be created on next showOrUpdate or not. It must be kept in sync with dialog ivar.
if dismiss is ever called from anywhere but showOrUpdate, the class gets into a state where the next showOrUpdate call will throw an error because dialog is set to null but propertyRequiresNewDialog stays false.
dismiss is called from three places: showOrUpdate (this is ok), onDropInstance() and onDetachedFromWindow.
The fix in this diff is to make sure propertyRequiresNewDialog is set to true when dialog is dismissed.
Differential Revision: D56627522
| Platform | Engine | Arch | Size (bytes) | Diff |
|---|---|---|---|---|
| android | hermes | arm64-v8a | 19,460,089 | -14 |
| android | hermes | armeabi-v7a | n/a | -- |
| android | hermes | x86 | n/a | -- |
| android | hermes | x86_64 | n/a | -- |
| android | jsc | arm64-v8a | 22,833,634 | +12 |
| android | jsc | armeabi-v7a | n/a | -- |
| android | jsc | x86 | n/a | -- |
| android | jsc | x86_64 | n/a | -- |
Base commit: be06fd4e22a500128d202436600381b8bc17b3f5 Branch: main
Merged here https://github.com/facebook/react-native/commit/d116837da2734709f5f85dac1515d118b172bdcf