aboutsummaryrefslogtreecommitdiff
path: root/src/button.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/button.c')
-rw-r--r--src/button.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/button.c b/src/button.c
index 5039364..05a77ef 100644
--- a/src/button.c
+++ b/src/button.c
@@ -80,7 +80,12 @@ void button_set_line(Button *btn, Color line_color, int line_width)
void button_destroy(Button *btn)
{
- if (btn->simple) g_free(CAST(btn, ButtonSimple)->text);
animation_destroy(btn->anim);
+
+ if (btn->simple)
+ g_free(CAST(btn, ButtonSimple)->text);
+ else
+ g_list_free_full(CAST(btn, ButtonGroup)->children, (GDestroyNotify)button_destroy);
+
g_free(btn);
}