Proposed fix for issue #282: search and remove ImDrawCallback_ImCanvas after m_DrawListFirstCommandIndex #285
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.
Hi,
This is a draft for a fix for #282, with lengthy explanations inside the code, because it needs to be further analyzed.
Analysis of the bug #282
when using this repro: https://github.com/pthom/node_window_clipping_issue/tree/suspend_resume_issue2
At the 4th call of LeaveLocalSpace(), we have:
We have m_DrawListFirstCommandIndex = 2, however, the tests in the original code will test only at index 0 and 1:
Proposed solution: test all commands from index >= m_DrawListFirstCommandIndex
and remove the one with UserCallback == ImDrawCallback_ImCanvas
(based on the original code, it seems there can be only one)