r17135 - gnucash/branches/2.2/src/gnome-utils - [r17065] Free a few lists returned by gtk_container_get_children().
Andreas Köhler
andi5 at cvs.gnucash.org
Sat Apr 26 12:49:55 EDT 2008
Author: andi5
Date: 2008-04-26 12:49:55 -0400 (Sat, 26 Apr 2008)
New Revision: 17135
Trac: http://svn.gnucash.org/trac/changeset/17135
Modified:
gnucash/branches/2.2/src/gnome-utils/dialog-options.c
gnucash/branches/2.2/src/gnome-utils/druid-utils.c
gnucash/branches/2.2/src/gnome-utils/gnc-dialog.c
Log:
[r17065] Free a few lists returned by gtk_container_get_children().
Modified: gnucash/branches/2.2/src/gnome-utils/dialog-options.c
===================================================================
--- gnucash/branches/2.2/src/gnome-utils/dialog-options.c 2008-04-26 16:49:46 UTC (rev 17134)
+++ gnucash/branches/2.2/src/gnome-utils/dialog-options.c 2008-04-26 16:49:55 UTC (rev 17135)
@@ -182,6 +182,7 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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)))
Modified: gnucash/branches/2.2/src/gnome-utils/druid-utils.c
===================================================================
--- gnucash/branches/2.2/src/gnome-utils/druid-utils.c 2008-04-26 16:49:46 UTC (rev 17134)
+++ gnucash/branches/2.2/src/gnome-utils/druid-utils.c 2008-04-26 16:49:55 UTC (rev 17135)
@@ -99,6 +99,7 @@
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 @@
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 @@
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);
}
Modified: gnucash/branches/2.2/src/gnome-utils/gnc-dialog.c
===================================================================
--- gnucash/branches/2.2/src/gnome-utils/gnc-dialog.c 2008-04-26 16:49:46 UTC (rev 17134)
+++ gnucash/branches/2.2/src/gnome-utils/gnc-dialog.c 2008-04-26 16:49:55 UTC (rev 17135)
@@ -291,8 +291,11 @@
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;
}
More information about the gnucash-changes
mailing list