input/seatop_default: release on empty workspace
Instead of handling presses and releases on empty workspaces as setting focus to the workspace, handle releases by notifying the seat of a pointer action. This way DnDs are correctly released if the button is released over an empty workspace. This is achieved by removing the early return and letting the handle_button() call seat_pointer_notify_button() at the very end. Fixes #3932
This commit is contained in:
parent
c0bce9138b
commit
0efc28e2f5
|
@ -280,7 +280,10 @@ static void handle_button(struct sway_seat *seat, uint32_t time_msec,
|
||||||
|
|
||||||
// Handle clicking an empty workspace
|
// Handle clicking an empty workspace
|
||||||
if (node && node->type == N_WORKSPACE) {
|
if (node && node->type == N_WORKSPACE) {
|
||||||
seat_set_focus(seat, node);
|
if (state == WLR_BUTTON_PRESSED) {
|
||||||
|
seat_set_focus(seat, node);
|
||||||
|
}
|
||||||
|
seat_pointer_notify_button(seat, time_msec, button, state);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue