GtkTreeIter assignment
Hello list. Is that normal, to assign one GtkTreeIter to another? For example: void add_new( ... , GtkTreeIter *iter) { GtkTreeIter *default_iter; if(iter != NULL) { default_iter = iter; -- is that noraml?? } gtk_tree_store_append(default_iter); } ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: GtkTreeIter assignment
On Tue, Oct 30, 2012 at 05:05:37PM +0400, Vlasov Vitaly wrote: Is that normal, to assign one GtkTreeIter to another? For example: void add_new( ... , GtkTreeIter *iter) { GtkTreeIter *default_iter; if(iter != NULL) { default_iter = iter; -- is that noraml?? This is pointer assignment: default_iter will denote the same chunk of memory as iter. What exactly should be abnormal here? } gtk_tree_store_append(default_iter); This is invalid code: wrong number of arguments of wrong type. And, of course, default_iter is possibly being used uninitialised. Yeti ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: GtkTreeIter assignment
Oops! GtkTreeIter *default_iter -- GtkTreeIter default_iter; It's question about: default_iter = *iter; -- is that normal? I can give you more verbose example(it's pseudo-code, not C): prepare_iter() { GtkTreeIter iter; gtk_tree_store_insert_after( ... , iter , ...); add_new_entry(model, iter); } add_new_entry(GtkTreeModel, GtkTreeIter *iter) { GtkTreeIter default_iter; GtkTreeStore *store = GTK_TREE_STORE(model); if(iter != NULL) { default_iter = *iter; -- i need that } else gtk_tree_store_append(... , default_iter, ...); gtk_tree_store_set(store, default_iter, 1, name, -1); } So, i need to call add_new_entry() somewhere outside with some model and second NULL arg. If you're interested, this is how i doing right now: http://pastebin.com/QKDivBub It's work, but i don't like it. В Вт., 30/10/2012 в 14:36 +0100, David Nečas пишет: On Tue, Oct 30, 2012 at 05:05:37PM +0400, Vlasov Vitaly wrote: Is that normal, to assign one GtkTreeIter to another? For example: void add_new( ... , GtkTreeIter *iter) { GtkTreeIter *default_iter; if(iter != NULL) { default_iter = iter; -- is that noraml?? This is pointer assignment: default_iter will denote the same chunk of memory as iter. What exactly should be abnormal here? } gtk_tree_store_append(default_iter); This is invalid code: wrong number of arguments of wrong type. And, of course, default_iter is possibly being used uninitialised. Yeti ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: GtkTreeIter assignment
On Tue, Oct 30, 2012 at 06:53:18PM +0400, Vlasov Vitaly wrote: GtkTreeIter *default_iter -- GtkTreeIter default_iter; It's question about: default_iter = *iter; -- is that normal? Yes. It is explicitly specified that tree iters can be copied by value. See for instance here http://developer.gnome.org/gtk/stable/GtkTreeModel.html#gtk-tree-iter-copy Yeti ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list