Mercurial > pidgin.yaz
diff pidgin/gtkconv.c @ 18646:05cab350d1fb
Fix memory leak by freeing the list returned by gtk_container_get_children.
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Fri, 27 Jul 2007 10:44:11 +0000 |
parents | e47ff6610fc7 |
children | 2848d536ac7e |
line wrap: on
line diff
--- a/pidgin/gtkconv.c Wed Jul 25 21:01:29 2007 +0000 +++ b/pidgin/gtkconv.c Fri Jul 27 10:44:11 2007 +0000 @@ -2975,7 +2975,7 @@ for (list = gtk_container_get_children(GTK_CONTAINER(menu)); list; ) { GtkWidget *w = list->data; - list = list->next; + list = g_list_delete_link(list, list); gtk_widget_destroy(w); } @@ -2993,6 +2993,10 @@ gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); gtk_widget_set_sensitive(item, FALSE); } + else + { + g_list_free(list); + } gtk_widget_show_all(menu); } @@ -3373,7 +3377,7 @@ for (child = gtk_container_get_children(GTK_CONTAINER(menu)); child != NULL; - child = child->next) { + child = g_list_delete_link(child, child)) { GtkWidget *item = child->data; PurpleBuddy *item_buddy;