aboutsummaryrefslogtreecommitdiffstats
path: root/sway/desktop/launcher.c
diff options
context:
space:
mode:
Diffstat (limited to 'sway/desktop/launcher.c')
-rw-r--r--sway/desktop/launcher.c10
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) {
50 wl_list_remove(&ctx->token_destroy.link); 50 wl_list_remove(&ctx->token_destroy.link);
51 wl_list_init(&ctx->token_destroy.link); 51 wl_list_init(&ctx->token_destroy.link);
52 52
53 wlr_xdg_activation_token_v1_destroy(ctx->token); 53 if (!ctx->activated) {
54 // An unactivated token hasn't been destroyed yet
55 wlr_xdg_activation_token_v1_destroy(ctx->token);
56 }
54 ctx->token = NULL; 57 ctx->token = NULL;
55 58
56 // Prevent additional matches 59 // Prevent additional matches
@@ -201,3 +204,8 @@ struct launcher_ctx *launcher_ctx_create() {
201 wl_list_insert(&server.pending_launcher_ctxs, &ctx->link); 204 wl_list_insert(&server.pending_launcher_ctxs, &ctx->link);
202 return ctx; 205 return ctx;
203} 206}
207
208const char *launcher_ctx_get_token_name(struct launcher_ctx *ctx) {
209 const char *token = wlr_xdg_activation_token_v1_get_name(ctx->token);
210 return token;
211}