This repository was archived by the owner on Dec 5, 2024. It is now read-only.
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.
Switching views was happening in such a way that the new view would not get OnDataUpdate called between OnEnable and OnUI, because OnDataUpdate only gets called during layout events, and we switch the view (calling OnEnable on it) during the onmouseup event. That meant that the newly-active view would not load data until the next ui cycle, which causes exceptions to be thrown, given that the rendering code relies on data to always be there in some way (either cached or empty or whatever, but something needs to exist)
This ensures that OnDataUpdate gets called on the new view manually. This means that the event type for OnUI is going to be mouseup... which might confuse the new view if it's trying to handle it? I think it's probably fine because by this point the event object has been marked as used, which means other controls that want to handle the event will ignore it.