fix: trim unused ImGui build groups#629
Open
hcoona wants to merge 1 commit into
Open
Conversation
Co-authored-by: Copilot <[email protected]>
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.
Summary
Trim unused ImGui build groups so UI caches do not retain stale row objects.
Detailed explanation
The ImGui build cache can retain
BuildGroupentries after a later build uses fewer groups than a previous one. Those unused cached groups may continue to hold references to old UI model objects, such as rows from a table or page that is no longer displayed.Example UI steps that trigger the issue
Expected behavior
After a complete build, cache entries that were not used by the current build should be released so they no longer retain stale objects.
Actual behavior
Unused
BuildGroupentries can remain in the cache and continue to reference objects from the previous build.Fix
The build cache now trims unused build groups after a complete build. This keeps cache reuse for active groups while releasing stale groups that are no longer part of the current UI tree.