From 1c2acf59a38025a1b75452b0ca95502e68d1a3d2 Mon Sep 17 00:00:00 2001 From: Pietro Gagliardi Date: Sat, 21 May 2016 22:42:55 -0400 Subject: [PATCH] Implemented uiControlDestroy() for uiRadioButtons on GTK+. Fixes #40. --- unix/radiobuttons.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/unix/radiobuttons.c b/unix/radiobuttons.c index 9a6cb42c..7956f5f6 100644 --- a/unix/radiobuttons.c +++ b/unix/radiobuttons.c @@ -15,7 +15,17 @@ uiUnixControlAllDefaultsExceptDestroy(uiRadioButtons) static void uiRadioButtonsDestroy(uiControl *c) { - // TODO + uiRadioButtons *r = uiRadioButtons(c); + GtkWidget *b; + + while (r->buttons->len != 0) { + b = GTK_WIDGET(g_ptr_array_remove_index(r->buttons, 0)); + gtk_widget_destroy(b); + } + g_ptr_array_free(r->buttons, TRUE); + // and free ourselves + g_object_unref(r->widget); + uiFreeControl(uiControl(r)); } void uiRadioButtonsAppend(uiRadioButtons *r, const char *text)