Free a few lists returned by gtk_container_get_children().

BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17065 57a11ea4-9604-0410-9ed3-97b8803252fd
2.4
Andreas Köhler 18 years ago
parent 66445dd9ea
commit f71b1e9e42

@ -182,6 +182,7 @@ gnc_date_option_set_select_method(GNCOption *option, gboolean use_absolute,
ab_widget = g_list_nth_data(widget_list, GNC_RD_WID_AB_WIDGET_POS);
rel_button = g_list_nth_data(widget_list, GNC_RD_WID_REL_BUTTON_POS);
rel_widget = g_list_nth_data(widget_list, GNC_RD_WID_REL_WIDGET_POS);
g_list_free(widget_list);
if(use_absolute)
{
@ -418,6 +419,7 @@ gnc_option_multichoice_cb(GtkWidget *w, gint index, gpointer data)
if (safe_strcmp (date_type, "both") == 0) {
children = gtk_container_get_children (GTK_CONTAINER (widget));
widget = g_list_nth_data (children, GNC_RD_WID_REL_WIDGET_POS);
g_list_free(children);
}
free (date_type);
}
@ -2286,6 +2288,7 @@ gnc_option_set_ui_value_date (GNCOption *option, gboolean use_default,
widget_list = gtk_container_get_children(GTK_CONTAINER(widget));
rel_date_widget = g_list_nth_data(widget_list,
GNC_RD_WID_REL_WIDGET_POS);
g_list_free(widget_list);
gnc_date_option_set_select_method(option, FALSE, TRUE);
#ifdef GTKCOMBOBOX_TOOLTIPS_WORK
gtk_combo_box_set_active(GTK_COMBO_BOX(rel_date_widget), index);
@ -2320,6 +2323,7 @@ gnc_option_set_ui_value_date (GNCOption *option, gboolean use_default,
widget_list = gtk_container_get_children(GTK_CONTAINER(widget));
ab_widget = g_list_nth_data(widget_list,
GNC_RD_WID_AB_WIDGET_POS);
g_list_free(widget_list);
gnc_date_option_set_select_method(option, TRUE, TRUE);
gnc_date_edit_set_time(GNC_DATE_EDIT(ab_widget), ts.tv_sec);
}
@ -2552,6 +2556,7 @@ gnc_option_set_ui_value_radiobutton (GNCOption *option, gboolean use_default,
list = gtk_container_get_children (GTK_CONTAINER (widget));
box = list->data;
g_list_free(list);
list = gtk_container_get_children (GTK_CONTAINER (box));
for (i = 0; i < index && list; i++)
@ -2559,6 +2564,7 @@ gnc_option_set_ui_value_radiobutton (GNCOption *option, gboolean use_default,
g_return_val_if_fail (list, TRUE);
button = list->data;
g_list_free(list);
val = g_object_get_data (G_OBJECT (button), "gnc_radiobutton_index");
g_return_val_if_fail (GPOINTER_TO_INT (val) == index, TRUE);
@ -2719,6 +2725,7 @@ gnc_option_get_ui_value_date (GNCOption *option, GtkWidget *widget)
ab_button = g_list_nth_data(widget_list, GNC_RD_WID_AB_BUTTON_POS);
ab_widget = g_list_nth_data(widget_list, GNC_RD_WID_AB_WIDGET_POS);
rel_widget = g_list_nth_data(widget_list, GNC_RD_WID_REL_WIDGET_POS);
g_list_free(widget_list);
/* if it's an absolute date */
if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(ab_button)))

@ -99,6 +99,7 @@ void
gnc_druid_set_colors (GnomeDruid *druid)
{
GList *pages = gtk_container_get_children (GTK_CONTAINER (druid));
GList *item = pages;
GdkColor bluish;
GdkColor white;
GdkColormap *cm;
@ -119,9 +120,9 @@ gnc_druid_set_colors (GnomeDruid *druid)
gdk_colormap_alloc_color(cm, &bluish, FALSE, TRUE);
gdk_colormap_alloc_color(cm, &white, FALSE, TRUE);
while (pages != NULL)
while (item != NULL)
{
GnomeDruidPage *page = GNOME_DRUID_PAGE (pages->data);
GnomeDruidPage *page = GNOME_DRUID_PAGE (item->data);
if (GNOME_IS_DRUID_PAGE_EDGE (page))
{
@ -140,6 +141,7 @@ gnc_druid_set_colors (GnomeDruid *druid)
gnome_druid_page_standard_set_logo_background (page_standard, &bluish);
gnome_druid_page_standard_set_title_foreground (page_standard, &white);
}
pages = g_list_next (pages);
item = item->next;
}
g_list_free(pages);
}

@ -291,8 +291,11 @@ static GtkWidget *gnc_dialog_get_widget_smart(GtkWidget *w)
if (GTK_IS_BOX(w)) {
GList *children = gtk_container_get_children(GTK_CONTAINER(w));
if (g_list_length(children) == 1) {
return gnc_dialog_get_widget_smart(GTK_WIDGET(children->data));
GtkWidget *child = GTK_WIDGET(children->data);
g_list_free(children);
return gnc_dialog_get_widget_smart(child);
}
g_list_free(children);
}
return w;
}

Loading…
Cancel
Save