Hi, Should the virtual-root property found in GtkTreeModelFilter stay valid all the time relative to parent model. I am having a problem that virtual-root do not point a valid child node after nodes are added to child model in a certain way. See the attached tester. Is this a bug or am I doing something wrong? I need this because I cannot just use gtk_tree_model_get for the root node (NULL iterators/paths are not allowed). -Markku-
#include <gtk/gtk.h> int main(int argc, char *argv[]) { GtkTreeModel *filter; GtkTreeStore *store; GtkTreeIter iter, child_iter; GtkTreePath *path; gboolean success; gtk_init(&argc, &argv); store = gtk_tree_store_new(1, G_TYPE_INT); gtk_tree_store_append(store, &iter, NULL); gtk_tree_store_set(store, &iter, 0, 0, -1); gtk_tree_store_append(store, &iter, NULL); gtk_tree_store_set(store, &iter, 0, 1, -1); gtk_tree_store_append(store, &child_iter, &iter); gtk_tree_store_set(store, &child_iter, 0, 3, -1); path = gtk_tree_model_get_path(GTK_TREE_MODEL(store), &child_iter); g_assert(path != NULL); filter = gtk_tree_model_filter_new(GTK_TREE_MODEL(store), path); gtk_tree_model_get_iter_first(GTK_TREE_MODEL(store), &iter); /* Virtual root changes here */ gtk_tree_store_append(store, &child_iter, &iter); g_object_get(filter, "virtual-root", &path, NULL); /* We should get an iterator pointing to number 3, but virtual root do not point to any node. */ success = gtk_tree_model_get_iter(GTK_TREE_MODEL(store), &iter, path); g_assert(success); /* This fails */ return 0; }
_______________________________________________ gtk-list@xxxxxxxxx http://mail.gnome.org/mailman/listinfo/gtk-list