On Sat, 2007-08-04 at 17:00 +0200, Philip Van Hoof wrote: > The model itself is the source. The view is just a viewer for it. The > source itself doesn't change. The content of the source changes. The > view, being an observer of the model in the MVC paradigm, should adapt > to the changes. It should not require a sudden set and unset of its > model. I'm a big user of MVC. Although on some level I agree with you, I would ask what the difference is between: void gtk_treeview_freeze (GtkTreeView* tv) { /* store model in tv, then unset */ } void gtk_treeview_thaw (GtkTreeView* tv) { /* reset model in tv */ } and just calling gtk_treeview_set_model (NULL) and gtk_treeview_set_model (NOTNULL). there are additional issues: freeze/thaw semantics require use of a counter, so that, for example, if 3 nested contexts call "freeze", only the 3rd subsequent call to "thaw" actually unfreezes. contrast this to the simplicity of code in which only the top level sets+unsets the model, and all lower levels act on the model regardless of whether its connected to a view or not. _______________________________________________ gtk-list mailing list gtk-list@xxxxxxxxx http://mail.gnome.org/mailman/listinfo/gtk-list