diff --git a/particles/string.c b/particles/string.c index fbe568a..47ced4e 100644 --- a/particles/string.c +++ b/particles/string.c @@ -87,12 +87,17 @@ instantiate(const struct particle *particle, const struct tag_set *tags) e->font = p->font; e->foreground = p->foreground; - struct exposable *exposable = exposable_common_new( - particle, particle->on_click_template); + char *on_click = particle->on_click_template != NULL + ? tags_expand_template(particle->on_click_template, tags) + : NULL; + + struct exposable *exposable = exposable_common_new(particle, on_click); exposable->private = e; exposable->destroy = &exposable_destroy; exposable->begin_expose = &begin_expose; exposable->expose = &expose; + + free(on_click); return exposable; }