xdg-activation: fix urgency when the client does not specify a seat

xdg-activation is now too strict in only allowing tokens with a seat to
activate a surface. Clients may rely on this behavior for urgency hints.
The seat argument is still useful in case the client does provide a seat
so we can activate it on the desired seat.

Fixes: 842609da64 (view: make request_activate take a seat, 2022-11-30)
This commit is contained in:
Ronan Pigott 2023-02-09 11:39:46 -07:00 committed by Simon Ser
parent b4ce0a30c1
commit 1b27e8c8fd

View File

@ -33,11 +33,8 @@ void xdg_activation_v1_handle_request_activate(struct wl_listener *listener,
} }
struct wlr_seat *wlr_seat = event->token->seat; struct wlr_seat *wlr_seat = event->token->seat;
// The requesting seat may have been destroyed. struct sway_seat *seat = wlr_seat ? wlr_seat->data : NULL;
if (wlr_seat) { view_request_activate(view, seat);
struct sway_seat *seat = wlr_seat->data;
view_request_activate(view, seat);
}
} }
void xdg_activation_v1_handle_new_token(struct wl_listener *listener, void *data) { void xdg_activation_v1_handle_new_token(struct wl_listener *listener, void *data) {