commit - 64957a6419d22c2e1ccdcee51b7c25067ae6badc
commit + 21a4aa6e130db9eafdda3eed665a7862695fcf53
blob - 79a24e62adbe5a4d5142b94b336b9af035b42ff3
blob + 092e5960d78769f65ea68c59f0c1d30e502ce72f
--- audiowidget.c
+++ audiowidget.c
asprintf(&label, "%s%s.%s", group ? group : "", i->desc.node0.name, i->desc.func);
GtkWidget *box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5);
+ g_object_ref_sink(box);
+
GtkWidget *l = gtk_label_new(label);
gtk_widget_set_vexpand(l, FALSE);
gtk_box_append(GTK_BOX(box), l);
return a;
}
+
+void
+audiowidget_free(AudioWidget *a)
+{
+ /*
+ * sink and label are owned by box and
+ * should get freed with it
+ */
+ g_object_unref(a->box);
+ free(a);
+}
blob - 92dc556ba6b02aa36bcc4dc1584c6c75bb45d61c
blob + d314bdaa768d87d861580f3fbc34273cef26af9e
--- siomixer.h
+++ siomixer.h
AudioWidget *audiowidget_new(struct info *);
GtkWidget *audiowidget_get_gtkwidget(AudioWidget *);
GtkRange *audiowidget_get_gtkrange(AudioWidget *);
+void audiowidget_free(AudioWidget *);