# HG changeset patch # User Olaf Wintermann # Date 1711871887 -7200 # Node ID 9e2aee097b69940468bb408ce305e96b3d0c6732 # Parent 1dd2456c51d301f845db37d9d09f8f46be0e7998 fix double free on radiobutton group destroy diff -r 1dd2456c51d3 -r 9e2aee097b69 ui/gtk/button.c --- a/ui/gtk/button.c Sun Mar 31 09:50:49 2024 +0200 +++ b/ui/gtk/button.c Sun Mar 31 09:58:07 2024 +0200 @@ -197,9 +197,13 @@ var = uic_create_var(obj->ctx, args.varname, UI_VAR_INTEGER); } + UiBool first = FALSE; if(var) { rgroup = var->value; rg = rgroup->obj; + if(!rg) { + first = TRUE; + } } GtkWidget *rbutton = gtk_radio_button_new_with_label(rg, args.label ? args.label : ""); @@ -224,11 +228,13 @@ "clicked", G_CALLBACK(ui_radio_obs), event); - g_signal_connect( + if(first) { + g_signal_connect( rbutton, "destroy", G_CALLBACK(ui_destroy_vardata), event); + } } UiContainer *ct = uic_get_current_container(obj);