Skip to content

mac: fix the drawn cursor stuck on a stale shape after zoom-in - #559

Merged
Maxaubert merged 1 commit into
mainfrom
fix/mac-stuck-cursor-shape
Nov 7, 2026
Merged

Maxaubert merged 1 commit into
mainfrom
fix/mac-stuck-cursor-shape

Conversation

@Maxaubert

Copy link
Copy Markdown
Owner

Bug

Zoomed with the draw engine, Wind's drawn cursor sometimes stayed an I-beam over non-text areas until zoom-out (owner, 2026-11-07).

Cause (from verbose logs of a caught case)

  • 12:17:13.748 zoom-in with the pointer over Terminal text: the first frame drew the system I-beam.
  • ClearCursor.start set appCursor to that I-beam but kept appKey (pixel key) from the previous session, an arrow.
  • 12:17:14 to 12:17:17: three arrow reads matched the stale appKey, counted as repeats, so appCursor stayed the I-beam.

Fix

start clears appKey together with the new appCursor (as ownSet already does).

Checks

  • swift run wind-checks: all pass.
  • scripts/e2e_draw.py: 74 of 75 pass; the failure is the Inspect crosshair speed at 1x (93.6 vs 78.0), unrelated to cursor shape.
  • scripts/e2e_hover.py could not run here: no notification banner could be posted.
  • VERSION 0.5.6.

🤖 Generated with Claude Code

https://claude.ai/code/session_01SkyGaTQ1FTFz3Zwo4nohwd

ClearCursor.start took the current system cursor as the drawn shape but
kept the pixel key from the last session. When the pointer sat on text at
zoom-in (I-beam) and the last session ended on an arrow, the next arrow
read matched that old key, counted as a repeat, and the I-beam stayed
until zoom-out. start now clears the key with the new shape.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SkyGaTQ1FTFz3Zwo4nohwd
@Maxaubert
Maxaubert merged commit 2cc1b76 into main Nov 7, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant