diff --git a/app/os_wayland.go b/app/os_wayland.go index 8d2602a1..7b992c49 100644 --- a/app/os_wayland.go +++ b/app/os_wayland.go @@ -903,18 +903,7 @@ func gio_onPointerButton(data unsafe.Pointer, p *C.struct_wl_pointer, serial, t, default: return } - var typ pointer.Type - switch state { - case 0: - w.pointerBtns &^= btn - typ = pointer.Release - // Move or resize gestures no longer applies. - w.inCompositor = false - case 1: - w.pointerBtns |= btn - typ = pointer.Press - } - if typ == pointer.Press && btn == pointer.ButtonPrimary { + if state == 1 && btn == pointer.ButtonPrimary { if _, edge := w.systemGesture(); edge != 0 { w.resize(serial, edge) return @@ -928,6 +917,17 @@ func gio_onPointerButton(data unsafe.Pointer, p *C.struct_wl_pointer, serial, t, } } } + var typ pointer.Type + switch state { + case 0: + w.pointerBtns &^= btn + typ = pointer.Release + // Move or resize gestures no longer applies. + w.inCompositor = false + case 1: + w.pointerBtns |= btn + typ = pointer.Press + } w.flushScroll() w.resetFling() w.w.Event(pointer.Event{