action: tab: Release mouse press in case of mouse release while not pressed

This commit is contained in:
Jöran Karl
2024-04-25 23:10:01 +02:00
parent 385437d400
commit 2ecdac8405
2 changed files with 22 additions and 14 deletions

View File

@@ -500,12 +500,17 @@ func (h *BufPane) HandleEvent(event tcell.Event) {
// Mouse event with no click - mouse was just released.
// If there were multiple mouse buttons pressed, we don't know which one
// was actually released, so we assume they all were released.
pressed := len(h.mousePressed) > 0
for me := range h.mousePressed {
delete(h.mousePressed, me)
me.state = MouseRelease
h.DoMouseEvent(me, e)
}
if !pressed {
// Propagate the mouse release in case the press wasn't for this BufPane
Tabs.ResetMouse()
}
}
}
h.Buf.MergeCursors()