In a GtkTree I want to use a filter, and also extend the tree using 
gtk_tree_model_foreach. The combination of the 2 gives problems. 
In the function connected to gtk_tree_model_foreach I use the GtkTreeIter *iter 
argument, which gives an error message: 

Gtk-CRITICAL **: IA__gtk_tree_store_append: assertion `VALID_ITER (parent, 
tree_store)' failed 

I define tree, filter etc. as follows: 
stree = gtk_tree_store_new(1,G_TYPE_STRING); 
ftree = GTK_TREE_MODEL_FILTER(gtk_tree_model_filter_new(GTK_TREE_MODEL(stree), 
NULL)); 
tree = gtk_tree_view_new_with_model(GTK_TREE_MODEL(ftree)); 
model=gtk_tree_view_get_model(GTK_TREE_VIEW(tree)); 

... 
(build a part of the tree) 
... 
gtk_tree_model_foreach(model,func,NULL); 

In func: 
gboolean func(GtkTreeModel *model,GtkTreePath *path,GtkTreeIter *iter,gpointer 
data) 
{ 
gtk_tree_model_get(model,iter, 0, &iname, -1); 
... 
gtk_tree_store_append(stree, &iter0, iter); 
... 
} 

gtk_tree_store_append gives the mentioned error. 

If I remove the filter, and define instead: 
tree = gtk_tree_view_new_with_model(GTK_TREE_MODEL(stree)); 

then building using gtk_tree_model_foreach works fine. 
How to solve this? 

Attached an example showing the problem. 
(Note: I am using gtk2.0, don't know if the same problem is with gtk3.) 

_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Reply via email to