From 419e55ffef6b85e1fb8141c66c7c61a784ef5388 Mon Sep 17 00:00:00 2001 From: Consolatis <40171-Consolatis@users.noreply.gitlab.freedesktop.org> Date: Mon, 6 Feb 2023 15:27:04 +0100 Subject: [PATCH] xdg-activation: accept pointer focus for new tokens This patch allows surfaces without keyboard focus but with pointer focus to receive valid tokens. This can be relevant for applications using an older version of the layershell protocol which only provided the choice between no keyboard focus and exclusive keyboard focus. (cherry picked from commit f6008ffff41f67e3c20bd8b3be8f216da6a4bb30) --- types/wlr_xdg_activation_v1.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/types/wlr_xdg_activation_v1.c b/types/wlr_xdg_activation_v1.c index eb8b930c7..1103e30ae 100644 --- a/types/wlr_xdg_activation_v1.c +++ b/types/wlr_xdg_activation_v1.c @@ -115,9 +115,10 @@ static void token_handle_commit(struct wl_client *client, } if (token->surface != NULL && - token->surface != token->seat->keyboard_state.focused_surface) { + token->surface != token->seat->keyboard_state.focused_surface && + token->surface != token->seat->pointer_state.focused_surface) { wlr_log(WLR_DEBUG, "Rejecting token commit request: " - "surface doesn't have keyboard focus"); + "surface doesn't have focus"); goto error; } }