Comment 5 for bug 259163

Revision history for this message
Gavin McCullagh (gmccullagh) wrote :

I've been looking through the code for this and am adding some notes here in case they help anyone else (or me to recall later).

As Jordan observes, these errors are telling us about the problem:

(users-admin:724): Gtk-CRITICAL **: gtk_tree_sortable_get_sort_column_id: assertion `GTK_IS_TREE_SORTABLE (sortable)' failed
(users-admin:724): GLib-GObject-WARNING **: invalid cast from `GtkTreeModelFilter' to `GtkTreeSortable'
(users-admin:724): Gtk-CRITICAL **: gtk_tree_sortable_has_default_sort_func: assertion `GTK_IS_TREE_SORTABLE (sortable)' failed
(users-admin:724): GLib-GObject-WARNING **: invalid cast from `GtkTreeModelFilter' to `GtkTreeSortable'
(users-admin:724): Gtk-CRITICAL **: gtk_tree_sortable_set_sort_column_id: assertion `GTK_IS_TREE_SORTABLE (sortable)' failed

What seems to be happening is that the function create_users_model() in users-table.c is creating a GTKTreeModel of type GTK_TREE_MODEL_FILTER instead of eg. plain type GTK_TREE_MODEL. When the code in create_users_table() calls gtk_tree_sortable_set_sort_column_id() this fails because the GTK_TREE_MODEL_FILTER is not sortable.

There is some discussion on this issue and a proposed solution here:

http://mail.gnome.org/archives/gtk-list/2005-February/msg00177.html

This is all I have gleaned so far and may be well wide of the mark, but I shall persevere.