diff --git a/src/backend/wayland/wl_handlers.c b/src/backend/wayland/wl_handlers.c index bb62994..c4e60c2 100644 --- a/src/backend/wayland/wl_handlers.c +++ b/src/backend/wayland/wl_handlers.c @@ -331,6 +331,11 @@ handle_pointer_button(struct wl_listener *listener, void *data) wlr_seat_pointer_notify_button(wl_state.seat, ev->time_msec, ev->button, ev->state); wlr_seat_pointer_notify_frame(wl_state.seat); + } else if (wl_state.seat->drag) { + /* Active drag grab: always forward so wlroots can end the drag. */ + wlr_seat_pointer_notify_button(wl_state.seat, ev->time_msec, + ev->button, ev->state); + wlr_seat_pointer_notify_frame(wl_state.seat); } }