macOS: only emit a mouse exited position if we're not dragging
Fixes #7071 When the mouse is being actively dragged, AppKit continues to emit mouseDragged events which will update our position appropriately. The mouseExit event we were sending sends a synthetic (-1, -1) position which was causing a scroll up.pull/7077/head
parent
66636195f1
commit
6d80388155
|
|
@ -743,6 +743,13 @@ extension Ghostty {
|
|||
override func mouseExited(with event: NSEvent) {
|
||||
guard let surface = self.surface else { return }
|
||||
|
||||
// If the mouse is being dragged then we don't have to emit
|
||||
// this because we get mouse drag events even if we've already
|
||||
// exited the viewport (i.e. mouseDragged)
|
||||
if NSEvent.pressedMouseButtons != 0 {
|
||||
return
|
||||
}
|
||||
|
||||
// Negative values indicate cursor has left the viewport
|
||||
let mods = Ghostty.ghosttyMods(event.modifierFlags)
|
||||
ghostty_surface_mouse_pos(surface, -1, -1, mods)
|
||||
|
|
|
|||
Loading…
Reference in New Issue