Thread: [Goocanvas-devel] Custom Item Crasher
Status: Beta
Brought to you by:
dachaplin
From: John S. <joh...@gm...> - 2007-07-14 00:11:37
Attachments:
bug.py
|
Hey, I have encountered this bug recently and am not sure if its in the python bindings or in goocanvas itself. Basically when I create a custom canvas item and then add that item as a child to another it seg faults unless I pass the parent to the custom items constructor. I have included the backtrace below and have attached a sample program illustrating the bug. If this is a pygoocanvas bug then let me know and I will post it in the pygoocanvas bug tracker. Thanks, John Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1209980720 (LWP 20495)] 0xb710d300 in goo_canvas_request_redraw (canvas=0x0, bounds=0x832b02c) at goocanvas.c:1740 1740 goocanvas.c: No such file or directory. in goocanvas.c (gdb) thread apply all bt Thread 1 (Thread -1209980720 (LWP 20495)): #0 0xb710d300 in goo_canvas_request_redraw (canvas=0x0, bounds=0x832b02c) at goocanvas.c:1740 #1 0xb71015f0 in goo_canvas_item_simple_update (item=0x832b010, entire_tree=1, cr=0x832c5d8, bounds=0xbf9740f8) at goocanvasitemsimple.c:1126 #2 0xb70fac98 in goo_canvas_item_update (item=0x832b010, entire_tree=1, cr=0x832c5d8, bounds=0xbf9740f8) at goocanvasitem.c:1444 #3 0xb70f8542 in goo_canvas_group_update (item=0x8324f80, entire_tree=1, cr=0x832c5d8, bounds=0xbf974168) at goocanvasgroup.c:366 #4 0xb70fac98 in goo_canvas_item_update (item=0x8324f80, entire_tree=0, cr=0x832c5d8, bounds=0xbf974168) at goocanvasitem.c:1444 #5 0xb70f8542 in goo_canvas_group_update (item=0x8324cb0, entire_tree=0, cr=0x832c5d8, bounds=0xbf9741d8) at goocanvasgroup.c:366 #6 0xb70fac98 in goo_canvas_item_update (item=0x8324cb0, entire_tree=0, cr=0x832c5d8, bounds=0xbf9741d8) at goocanvasitem.c:1444 #7 0xb710d4dc in goo_canvas_update_internal (canvas=0x8327060, cr=0x832c5d8) at goocanvas.c:1655 #8 0xb710d52f in goo_canvas_update (canvas=0x8327060) at goocanvas.c:1679 #9 0xb710d580 in goo_canvas_idle_handler (canvas=0x8327060) at goocanvas.c:1689 #10 0xb7c78091 in g_idle_dispatch (source=0x832a9b8, callback=0x1, ---Type <return> to continue, or q <return> to quit--- user_data=0x8327060) at gmain.c:3928 #11 0xb7c79df2 in IA__g_main_context_dispatch (context=0x82bee98) at gmain.c:2045 #12 0xb7c7cdcf in g_main_context_iterate (context=0x82bee98, block=1, dispatch=1, self=0x8312bb8) at gmain.c:2677 #13 0xb7c7d179 in IA__g_main_loop_run (loop=0x832aff0) at gmain.c:2881 #14 0xb7863044 in IA__gtk_main () at gtkmain.c:1177 #15 0xb7b72070 in ?? () from /var/lib/python-support/python2.5/gtk-2.0/gtk/_gtk.so #16 0x0832bc50 in ?? () #17 0x00000000 in ?? () |
From: Damon C. <da...@ka...> - 2007-07-24 15:07:22
|
On Fri, 2007-07-13 at 17:11 -0700, John Stowers wrote: > Hey, > > I have encountered this bug recently and am not sure if its in the > python bindings or in goocanvas itself. > > Basically when I create a custom canvas item and then add that item as > a child to another it seg faults unless I pass the parent to the > custom items constructor. I have included the backtrace below and have > attached a sample program illustrating the bug. I think I can see the problem, and it's fairly easy to fix. (goo_canvas_item_simple_set_parent() should be calling goo_canvas_item_set_canvas() to set the canvas pointer, so the GooCanvasGroup code can set it recursively for any children.) Damon |
From: John S. <joh...@gm...> - 2007-08-14 23:12:24
|
Do you know if this was fixed in 0.9 (sorry I cannot test yet). I presume the python bindings will be updated soonish to match? John On 7/25/07, Damon Chaplin <da...@ka...> wrote: > On Fri, 2007-07-13 at 17:11 -0700, John Stowers wrote: > > Hey, > > > > I have encountered this bug recently and am not sure if its in the > > python bindings or in goocanvas itself. > > > > Basically when I create a custom canvas item and then add that item as > > a child to another it seg faults unless I pass the parent to the > > custom items constructor. I have included the backtrace below and have > > attached a sample program illustrating the bug. > > I think I can see the problem, and it's fairly easy to fix. > > (goo_canvas_item_simple_set_parent() should be calling > goo_canvas_item_set_canvas() to set the canvas pointer, so the > GooCanvasGroup code can set it recursively for any children.) > > Damon > > > |
From: Damon C. <da...@ka...> - 2007-08-15 16:48:38
|
On Wed, 2007-08-15 at 11:12 +1200, John Stowers wrote: > Do you know if this was fixed in 0.9 (sorry I cannot test yet). I did try to fix it, though I haven't tested it. Let me know if it works OK. Damon |