Date: Wed, 28 May 2003 11:35:51 +0200 Message-ID: From: Jun.Furuse at inria.fr To: lablgtk at kaba.or.jp Subject: GTree.view#set_model does not work with GTree.tree_store MIME-Version: 1.0 (generated by SEMI 1.14.4 - "Hosorogi") Content-Type: text/plain; charset=US-ASCII Hi, I have a trouble of using GTree.view#set_model method to apply a GTree.tree_store model: treeview#set_model tree_store#coerce; prints out a critical gobject warning: (!@#$:25259): GLib-GObject-CRITICAL **: file gobject.c: line 1552 (g_value_set_object): assertion `g_value_type_compatible (G_OBJECT_TYPE (v_object), G_VALUE_TYPE (value))' failed and the treeview does not display the content. (And even the program crashes sometimes.) I found that treeview#set_model is implemented as a setting of GObject property. It seems to work with pure models, but not with tree_stores. To avoid this problem, I reimplemented the set_model method using gtk_tree_view_set_model C function, instead of the property setting. Then it works correctly with tree_stores, too. Is there anyone who knows the difference between modifying model property and gtk_tree_view_set_model ? -- Jun -- a simple example -- GMain.Main.init ();; let cols = new GTree.column_list;; let col = cols#add Gobject.Data.string;; let treestore = GTree.tree_store cols;; let window = GWindow.window ();; (* Tree view creation *) let treeview = GTree.view ~packing: window#add ();; treeview#set_model treestore#coerce;; (* warning... *) let row = treestore#append ();; treestore#set ~row ~column: col "hello";; prerr_endline (treestore#get ~row ~column: col);; window#show ();; GMain.Main.main ();;