CList segfault


I have some problems with GtkCList in extended selection mode,
reproduceable with the following steps:

1. The user selects some rows _including_ the last one.
2. The program will call gtk_clist_remove() for each selected row.
3. The user changes the selection via mouse clicks before
   all rows are removed.

Then you will get a segfault in resync_selection(), gtk_clist.c:3980.
It seems g_list_nth() is called with a row number exceeding the
list length, and returns a NULL pointer which will be
dereferenced immediately.
I tried tracking down the problem but I don't know anything about
the internal GtkCList stuff, especially the purpose of the
undo_selection list. Simply checking for NULL didn't help much
and triggered even worse errors just a little bit later.

Could someone help me out on this issue?
(I'm using gtk+ 1.2.8 with gcc-2.95.2)


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