changeset 22313:42724bd41274

Plug some leaks caused by GtkTreePaths not being freed.
author Daniel Atallah <daniel.atallah@gmail.com>
date Wed, 20 Feb 2008 05:07:09 +0000
parents 01e814b7556b
children 27d87096e6bc 4345e7aaa7d4 6fc8f0c825e0 056fb36a5770
files pidgin/gtkaccount.c pidgin/gtkblist.c pidgin/gtklog.c
diffstat 3 files changed, 8 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/pidgin/gtkaccount.c	Wed Feb 20 03:04:47 2008 +0000
+++ b/pidgin/gtkaccount.c	Wed Feb 20 05:07:09 2008 +0000
@@ -2092,8 +2092,10 @@
 	/* Figure out which node was clicked */
 	if (!gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(dialog->treeview), event->x, event->y, &path, &column, NULL, NULL))
 		return FALSE;
-	if (column == gtk_tree_view_get_column(treeview, 0))
+	if (column == gtk_tree_view_get_column(treeview, 0)) {
+		gtk_tree_path_free(path);
 		return FALSE;
+	}
 
 	gtk_tree_model_get_iter(GTK_TREE_MODEL(dialog->model), &iter, path);
 	gtk_tree_path_free(path);
--- a/pidgin/gtkblist.c	Wed Feb 20 03:04:47 2008 +0000
+++ b/pidgin/gtkblist.c	Wed Feb 20 05:07:09 2008 +0000
@@ -2953,6 +2953,9 @@
 	gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(tv), x, y, &path, NULL, NULL, NULL);
 	gtk_tree_view_get_cell_area(GTK_TREE_VIEW(tv), path, NULL, &rect);
 
+	if (path)
+		gtk_tree_path_free(path);
+
 	/* Only autoexpand when in the middle of the cell to avoid annoying un-intended expands */
 	if (y < rect.y + (rect.height / 3) ||
 	    y > rect.y + (2 * (rect.height /3)))
@@ -2963,8 +2966,6 @@
 
 	gtkblist->tip_rect = rect;
 
-	if (path)
-		gtk_tree_path_free(path);
 	gtkblist->drag_timeout = g_timeout_add(delay, (GSourceFunc)pidgin_blist_expand_timeout, tv);
 
 	if (gtkblist->mouseover_contact) {
--- a/pidgin/gtklog.c	Wed Feb 20 03:04:47 2008 +0000
+++ b/pidgin/gtklog.c	Wed Feb 20 05:07:09 2008 +0000
@@ -263,11 +263,10 @@
 				gtk_tree_store_remove(treestore, iter);
 			}
 		}
-		gtk_tree_path_free(path);
 #else
 		gtk_tree_store_remove(treestore, iter);
+#endif
 		gtk_tree_path_free(path);
-#endif
 	}
 
 	delete_log_cleanup_cb(data);
@@ -363,6 +362,7 @@
 		gtk_tree_model_get_iter(GTK_TREE_MODEL(lv->treestore), iter, path);
 		val.g_type = 0;
 		gtk_tree_model_get_value(GTK_TREE_MODEL(lv->treestore), iter, 1, &val);
+		gtk_tree_path_free(path);
 
 		log = g_value_get_pointer(&val);