Repository navigation
fix(test): the UI scenarios' drags move only ImGui's pointer after the press, since a warp mid-drag releases it on Windows (#2711) - #2935
Merged
Conversation
…display suite's window takes their pointer (#2711) UiScenarioTest still failed at column-reordered on Windows CI now and then (#2913's run; main's 788bcb4): it passed when ctest ran it early and failed when it ran beside the other on-display suites. On Windows the cursor and the window under it are the desktop's, so a window another suite opened over the scenarios' took the hover, and the drag never reached the table; #2925's cursor warp can't help there. RUN_SERIAL on the suite's entry keeps the others out while it runs (about 6-12 s). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.Scanned FilesNone |
mgradwohl
enabled auto-merge (squash)
October 25, 2026 13:48
…e press, since a warp mid-drag releases it on Windows (#2711) UiScenarioTest kept failing at column-reordered on Windows CI, run alone too (#2935's first run, last of 690), so it wasn't other suites' windows. #2925 warped the OS cursor with every injected position, the drag's moves included; a warp is a real mouse move, and on Windows SDL squares the buttons it thinks are down with the move's, so the first move after the press sent a button-up and the drag ended. The drag now warps once, at its start, and moves ImGui's pointer alone while the button is held; the cursor stays over the window, so the backend's global-position fallback stays off. Reverts the RUN_SERIAL that didn't help. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
mgradwohl
disabled auto-merge
October 25, 2026 13:57
mgradwohl
enabled auto-merge (squash)
October 25, 2026 13:57
9 of 13 tasks
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.
Description
UiScenarioTest(#2711) keeps failing at column-reordered on Windows CI, for example on #2913's run and on main at 788bcb4.Not this: this PR's first commit ran the suite alone (
RUN_SERIAL), and it still failed, last of 690. So other suites' windows weren't the cause, and that commit is reverted.The cause: #2925 warped the OS cursor with every injected position, including the drag's moves. A warp is a real mouse move. On Windows, SDL compares the buttons it thinks are down with the ones the move reports, so the first move after the injected press sent a button-up and ended the drag. Single clicks survived because they finish within a frame or two.
The fix: the drag warps once, at its start, before the press. While the button is held it moves only ImGui's pointer (
dragPointer()). The OS cursor stays over the window, so the SDL backend's global-position fallback stays off.PR Size
Small: 1 file (the test), +11/−1 net.
Type of Change
Checklist
clang-tidyand addressed any warningsclang-formaton my changespre-commit run --all-filesor installed pre-commit hooksTesting
🤖 Generated with Claude Code