diff --git a/ChangeLog b/ChangeLog index ed5fe22b98..45d767dbe6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2005-11-15 Matthias Clasen + + * NEWS: Updates + + * gtk/gtktreestore.c (gtk_tree_store_move): Fix a memory + leak. (#321032, Peter Zelezny) + 2005-11-14 Matthias Clasen * gtk/gtkselection.c (gtk_selection_data_set_uris): Don't diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index ed5fe22b98..45d767dbe6 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,10 @@ +2005-11-15 Matthias Clasen + + * NEWS: Updates + + * gtk/gtktreestore.c (gtk_tree_store_move): Fix a memory + leak. (#321032, Peter Zelezny) + 2005-11-14 Matthias Clasen * gtk/gtkselection.c (gtk_selection_data_set_uris): Don't diff --git a/NEWS b/NEWS index 4058a911f3..a553e5117f 100644 --- a/NEWS +++ b/NEWS @@ -51,7 +51,7 @@ Overview of Changes from GTK+ 2.8.6 to GTK+ 2.8.7 Mena Quintero, John Ehresman, Paolo Borelli, Antonio Sacchi, Christian Persch, Carlos Garnacho, Jeremy Cook, Nickolay V. Shmyrev, - Richard Hult, Maxim Udushlivy] + Richard Hult, Maxim Udushlivy, Peter Zelezny] * Documentation improvements [Paolo Borelli, Christian Neumair, Christian Persch diff --git a/gtk/gtktreestore.c b/gtk/gtktreestore.c index 157c39a110..186cb0c310 100644 --- a/gtk/gtktreestore.c +++ b/gtk/gtktreestore.c @@ -2257,7 +2257,6 @@ gtk_tree_store_move (GtkTreeStore *tree_store, if (depth) { gtk_tree_model_get_iter (GTK_TREE_MODEL (tree_store), &parent_iter, path); - gtk_tree_path_free (path); parent = G_NODE (parent_iter.user_data); } @@ -2322,7 +2321,7 @@ gtk_tree_store_move (GtkTreeStore *tree_store, b = G_NODE (dst_b.user_data); } - /* if a is NULL, a is NULL too -- we are at the end of the list + /* if a is NULL, b is NULL too -- we are at the end of the list * yes and we leak memory here ... */ if (position) @@ -2465,17 +2464,18 @@ gtk_tree_store_move (GtkTreeStore *tree_store, if (depth) { - path = gtk_tree_model_get_path (GTK_TREE_MODEL (tree_store), &parent_iter); + tmppath = gtk_tree_model_get_path (GTK_TREE_MODEL (tree_store), &parent_iter); gtk_tree_model_rows_reordered (GTK_TREE_MODEL (tree_store), - path, &parent_iter, order); + tmppath, &parent_iter, order); } else { - path = gtk_tree_path_new (); + tmppath = gtk_tree_path_new (); gtk_tree_model_rows_reordered (GTK_TREE_MODEL (tree_store), - path, NULL, order); + tmppath, NULL, order); } + gtk_tree_path_free (tmppath); gtk_tree_path_free (path); if (position) gtk_tree_path_free (pos_path);