TextureGroup / Texture

Smooth asynchronous user interfaces for iOS apps.
https://texturegroup.org/
Other
8.02k stars 1.3k forks source link

Clean out NSNulls in removedSubnodes list (fixes #2059) #2063

Open JohnEstropia opened 2 years ago

JohnEstropia commented 2 years ago

This PR fixes https://github.com/TextureGroup/Texture/issues/2059.

Starting Swift 5.6 (Xcode 13.3), I'm seeing NSNulls populating the _removedSubnodes list and causing unrecognized selector crashes. I'm not sure where this is coming from because it only occurs in Release builds which makes debugging really hard, but I have confirmed this PR to fix the issue.

One reproducible event for me that triggers this crash is during device rotation where layoutSpecThatFits recompute the layouts. It's not an isolated case either because I see it in most screens.

If anyone can provide a better fix, please suggest.

CLAassistant commented 2 years ago

CLA assistant check
All committers have signed the CLA.