fix (ios-view): resolves race condition when setting preferredContentSize on view controller #10179
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.
PR Checklist
What is the current behavior?
A race condition exists when showing a view modally on ios if that view has been assigned width and height. In
_showNativeModalView
(@nativescript/core/ui/core/view/index.ios.ts, 459)const controller
is assigned the valuethis.viewController
. In thehandler
callback created on line 481, the width/height from the view are assigned to thepreferredContentSize
of thecontroller
. However at the conclusion of_showNativeModalView
, thecontroller
variable is released, creating a race condition for the handler.What is the new behavior?
Making the perferredContentSize assignment on
this.viewController
instead ofcontroller
avoids a race condition.