Re: gtk_tree_view_get_visible_range



On Wed, Jul 05, 2006 at 01:09:19AM +0100, Christopher Backhouse wrote:
My previous email on this subject was rubbish and unspecific, sorry for 
the spam. So - I have reduced my code down to the smallest test case and 
now hope someone can help me.

#include "gtk/gtk.h"
int main(int argc, char **argv)
{
      gtk_init(&argc, &argv);

      //make a store and view stick them together, add a column
      GtkListStore* store=gtk_list_store_new(1,G_TYPE_STRING);
      GtkTreeView* view=(GtkTreeView*)gtk_tree_view_new();
      gtk_tree_view_set_model(view,(GtkTreeModel*)store);
      GtkTreeViewColumn* column=gtk_tree_view_column_new();
      gtk_tree_view_append_column(view,column);

      //check get_visible_range, all is well
      GtkTreePath* sp;
      GtkTreePath* ep;
      gtk_tree_view_get_visible_range(view,&sp,&ep);
              
      //add one row
      GtkTreeIter iter;
      gtk_list_store_append(store,&iter);
      gtk_list_store_set(store,&iter,0,"foo",-1);
              
      //check again, bad things
      gtk_tree_view_get_visible_range(view,&sp,&ep);
}


The errors are:

(a.out:5709): Gtk-CRITICAL **: _gtk_tree_view_find_path: assertion `node 
!= NULL' failed

(a.out:5709): Gtk-CRITICAL **: _gtk_tree_view_find_path: assertion `node 
!= NULL' failed

As I said before - in the full version everything seems to work as 
expected except for these errors.

What do you exactly expect from gtk_tree_view_get_visible_range()
when the tree view is not realized, has no size allocated,
etc. (beside a more helpful error message)?  What is
*visible* then?

The first gtk_tree_view_get_visible_range() fails gracefully
(note it returns FALSE) simply because empty tree is
special-cased.

The errors disappear if you do for example

    GtkWidget *window;
    window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(view));
    gtk_widget_show_all(window);

first.

Yeti


--
Anonyms eat their boogers.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]