I have created a Treeview with a TreeStore in it.
The TreeStore has sort_function set each column and
default sort.
When the sort_function is called I get called with a invalid iter.
I check the iter uising follow code:
if not treemodel.iter_is_valid(iter1) or not
treemodel.iter_is_valid(iter2):
raise RuntimeError('one of iter to compare is not valid')
I set a break point at the raise to make sure that the iter is bad.
If I run comment out the check and run the program it segfaults. I
try running the program under gdb here is stack_trace for when it
dies:
gtk_tree_store_compare_func (a=0x8000000003f87ff0, b=0x3f88000,
user_data=0x30ccec0)
at /build/buildd/gtk+2.0-2.18.3/gtk/gtktreestore.c:2766
2766 /build/buildd/gtk+2.0-2.18.3/gtk/gtktreestore.c: No such file or
directory.
in /build/buildd/gtk+2.0-2.18.3/gtk/gtktreestore.c
(gdb) print a
$1 = (gconstpointer) 0x8000000003f87ff0
(gdb) print b
$2 = (gconstpointer) 0x3f88000
Looking at the source code a and b are the two iter being pass sort_function.
b looks like a good address a look like a bad address.
Here is C code:
node_a = ((SortTuple *) a)->node;
node_b = ((SortTuple *) b)->node;
Look for some help as to how find problem ?
_______________________________________________
pygtk mailing list [email protected]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://faq.pygtk.org/