Add null pointer guards to object tree view item content#8413
Draft
Add null pointer guards to object tree view item content#8413
Conversation
When an object is deleted via ObjectsContainer.removeObject(), the C++ gdObject is destroyed, but React's memoized TreeView data can still hold stale references to ObjectTreeViewItemContent instances wrapping the deleted object. If a re-render happens before the tree data is fully refreshed, calling getName()/getId()/getDataSet()/getThumbnail() on these stale items triggers a UseAfterFreeError crash. Add try-catch guards to all methods in ObjectTreeViewItemContent, ObjectFolderTreeViewItemContent, and ObjectFolderTreeViewItem that access C++ objects during rendering, returning safe fallback values when the underlying C++ object has been destroyed. https://claude.ai/code/session_011bm1CZe9mZcVrsEF9wHuyb
Replace broad try-catch blocks with the targeted exceptionallyGuardAgainstDeadObject guard, which only catches UseAfterFreeError and re-throws any other exception (e.g. wasm crashes) to avoid silently swallowing unrelated errors. https://claude.ai/code/session_011bm1CZe9mZcVrsEF9wHuyb
Track ObjectFolderOrObject lifetime for use-after-free detection: - Add _memoryTracked member to ObjectFolderOrObject C++ class - Add to trackedClassNames in postjs.js - Add to MemoryTrackedRegistryDialog https://claude.ai/code/session_011bm1CZe9mZcVrsEF9wHuyb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
No description provided.