diff options
Diffstat (limited to 'sway/desktop')
-rw-r--r-- | sway/desktop/launcher.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/sway/desktop/launcher.c b/sway/desktop/launcher.c index b983dcb0..48e5d24c 100644 --- a/sway/desktop/launcher.c +++ b/sway/desktop/launcher.c @@ -50,7 +50,10 @@ void launcher_ctx_consume(struct launcher_ctx *ctx) { wl_list_remove(&ctx->token_destroy.link); wl_list_init(&ctx->token_destroy.link); - wlr_xdg_activation_token_v1_destroy(ctx->token); + if (!ctx->activated) { + // An unactivated token hasn't been destroyed yet + wlr_xdg_activation_token_v1_destroy(ctx->token); + } ctx->token = NULL; // Prevent additional matches @@ -201,3 +204,8 @@ struct launcher_ctx *launcher_ctx_create() { wl_list_insert(&server.pending_launcher_ctxs, &ctx->link); return ctx; } + +const char *launcher_ctx_get_token_name(struct launcher_ctx *ctx) { + const char *token = wlr_xdg_activation_token_v1_get_name(ctx->token); + return token; +} |