fix(apple/cursor): reset per-session cursor-channel state in stop()
cursorChannelActive/hostCursors/cursorState stayed latched across sessions — a next session against a host WITHOUT the cursor cap would wear the previous session's stale shapes via resetCursorRects. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -917,6 +917,13 @@ public final class StreamLayerView: NSView {
|
|||||||
matchFollower = nil
|
matchFollower = nil
|
||||||
lastDecodedContentSize = nil // the next session re-derives it from its first frame
|
lastDecodedContentSize = nil // the next session re-derives it from its first frame
|
||||||
connection = nil
|
connection = nil
|
||||||
|
// Cursor-channel state is per-session: without this reset a next session against a
|
||||||
|
// host WITHOUT the cap would wear this session's stale shapes (`cursorChannelActive`
|
||||||
|
// stayed latched true across sessions).
|
||||||
|
cursorChannelActive = false
|
||||||
|
cursorState = nil
|
||||||
|
hostCursors.removeAll()
|
||||||
|
window?.invalidateCursorRects(for: self)
|
||||||
}
|
}
|
||||||
|
|
||||||
deinit {
|
deinit {
|
||||||
|
|||||||
Reference in New Issue
Block a user