Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix conpty cursor movement detection on double-width lines (#17233)
When the VT render engine checks whether the cursor has moved in the `InvalidateCursor` method, it does so by comparing the origin of the given cursor region with the last text output coordinates. But these two values are actually from different coordinate systems, and when on a double-width line, the x text coordinate is half of the corresponding screen coordinate. As a result, the movement detection is sometimes incorrect. This PR fixes the issue by adding another field to track the last cursor origin in screen coordinates, so we have a meaningful value to compare against. ## References and Relevant Issues The previous cursor movement detection was added in PR #17194 to fix issue #17117. ## Validation Steps Performed I've confirmed that the test case from issue #17232 is now fixed, and the test case from issue #17117 is still working as expected. ## PR Checklist - [x] Closes #17232
- Loading branch information