Fixed crash when style is not fully loaded #265
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #252 on Android. This crash doesn't seem to happen on the JS target. I don't know if the problem also occurs on iOS, I was looking at the documentation and couldn't find
isFullyLoaded
equivalent, so it may be an Android-specific crash, but it would be worth to test it also on iOS.I'm not so familiar with the codebase here, so I'm unsure if skipping the execution of functions or returning a null/empty list is a good solution, so I would appreciate feedback on this.
Based on my investigation of the code, it looks like all the internal executions of the style's functions happen after the style is already loaded, so it shouldn't skip any execution that should happen on a loaded style.
The crash happens on changing the style trying to execute functions of the dismissed style, so it makes sense to skip it, as it will be executed again after a new style is fully loaded.
The cases I can think of when this crash could happen: