Re: Segfault in gtkclist.c on removing last row
- From: Jeff Shipman <shippy cs nmt edu>
- To: Oliver Elphick <olly lfix co uk>, GTK List <gtk-list gnome org>
- Subject: Re: Segfault in gtkclist.c on removing last row
- Date: Thu, 03 Aug 2000 17:27:36 -0600
I've heard that there might be a bug in CList so when you
want to take out the last row, you should do a gtk_clist_clear()
rather than just removing that last row.
Oliver Elphick wrote:
>
> I have a program which allows the user to select a row in a glist and click
> a button to remove the row.
>
> If I add one row to an empty clist and then remove it, I have no problem,
> but if I had more than one row and remove each of them (one at a time), the
> program segfaults on removing the last row.
>
> The clist is inside a scrolled window.
>
> Here is the backtrace (gtk+ 1.2.8, Debian package from Helix):
>
> #0 draw_rows (clist=0x889a9b8, area=0xbfffe55c) at gtkclist.c:5957
> #1 0x8536823 in vadjustment_value_changed (adjustment=0x889a910,
> data=0x889a9b8) at gtkclist.c:6211
> #2 0x85616a4 in gtk_marshal_NONE__NONE (object=0x889a910,
> func=0x85365fc <vadjustment_value_changed>, func_data=0x889a9b8,
> args=0xbfffe65c) at gtkmarshal.c:312
> #3 0x85879b4 in gtk_handlers_run (handlers=0x8891780, signal=0xbfffe608,
> object=0x889a910, params=0xbfffe65c, after=0) at gtksignal.c:1917
> #4 0x8586f9e in gtk_signal_real_emit (object=0x889a910, signal_id=95,
> params=0xbfffe65c) at gtksignal.c:1477
> #5 0x8585731 in gtk_signal_emit_by_name (object=0x889a910,
> name=0x865bcc7 "value_changed") at gtksignal.c:618
> #6 0x85361dc in adjust_adjustments (clist=0x889a9b8, block_resize=0)
> at gtkclist.c:6074
> #7 0x852eb32 in real_remove_row (clist=0x889a9b8, row=0) at gtkclist.c:2779
> #8 0x852e61f in gtk_clist_remove (clist=0x889a9b8, row=0) at gtkclist.c:2606
>
> The segfault is because list is an invalid pointer.
>
> I haven't got any further with diagnosis, but perhaps someone has an idea
> of what is going wrong?
>
> (I won't bother to show the code at this stage, because I am using an
> Eiffel wrapper of GTK+; the C code generated by the Eiffel compiler is not
> comprehensible to humans.)
>
> I also have a problem with debugging, because if I hit a breakpoint, the whole
> of
> X freezes and I have to go to a console window to use the debugger, which is
> inconvenient. It also means I can't use ddd. Is there any way to get
> round this?
>
> --
> Oliver Elphick Oliver.Elphick@lfix.co.uk
> Isle of Wight http://www.lfix.co.uk/oliver
> PGP: 1024R/32B8FAA1: 97 EA 1D 47 72 3F 28 47 6B 7E 39 CC 56 E4 C1 47
> GPG: 1024D/3E1D0C1C: CA12 09E0 E8D5 8870 5839 932A 614D 4C34 3E1D 0C1C
> ========================================
> "Have not I commanded thee? Be strong and of a good
> courage; be not afraid, neither be thou dismayed; for
> the LORD thy God is with thee whithersoever thou
> goest." Joshua 1:9
>
> _______________________________________________
> gtk-list mailing list
> gtk-list@gnome.org
> http://mail.gnome.org/mailman/listinfo/gtk-list
--
+-----------------------------------------------------+
| Jeff "Shippy" Shipman E-Mail: shippy@cs.nmt.edu |
| Computer Science Major ICQ: 1786493 |
| New Mexico Institute of Mining and Technology |
| Homepage: http://www.nmt.edu/~shippy |
+-----------------------------------------------------+
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]