diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c index 0ace6ce965..86be6f8c42 100644 --- a/gtk/gtkiconview.c +++ b/gtk/gtkiconview.c @@ -3270,6 +3270,8 @@ gtk_icon_view_row_inserted (GtkTreeModel *model, if (gtk_tree_path_get_depth (path) > 1) return; + gtk_tree_model_ref_node (model, iter); + index = gtk_tree_path_get_indices(path)[0]; item = gtk_icon_view_item_new (); @@ -3306,11 +3308,15 @@ gtk_icon_view_row_deleted (GtkTreeModel *model, GtkIconViewItem *item; GList *list, *next; gboolean emit = FALSE; + GtkTreeIter iter; /* ignore changes in branches */ if (gtk_tree_path_get_depth (path) > 1) return; + gtk_tree_model_get_iter (model, &iter, path); + gtk_tree_model_unref_node (model, &iter); + index = gtk_tree_path_get_indices(path)[0]; list = g_list_nth (icon_view->priv->items, index);