#8 pygoocanvas segfault when add group to table.

open
nobody
None
5
2007-12-19
2007-12-19
Anonymous
No

This segment crash pygoocanvas:

root = canvas.get_root_item()
table = goo.Table(parent=root)
group = goo.Group(parent=table) #FIXME: Segfault here.

pygoocanvas version 0.9.0-1 on Debian

Attached test case.

Discussion

  • Nobody/Anonymous

    Crash test case

     
  • Damon Chaplin

    Damon Chaplin - 2007-12-19

    Logged In: YES
    user_id=186672
    Originator: NO

    I can reproduce in C.

    It's a crash in the update code. goo_canvas_item_simple_get_requested_area()
    can't handle GooCanvasGroup items, so we might need special code for that.
    Should be fairly easy to fix:

    #1 0x00c6d5e4 in goo_canvas_item_simple_update_internal (simple=0x93bd0a0,
    cr=0x93c1218) at goocanvasitemsimple.c:1140
    #2 0x00c6d9ae in goo_canvas_item_simple_get_requested_area (item=0x93bd0a0,
    cr=0x93c1218, requested_area=0xbfe6a620) at goocanvasitemsimple.c:1236
    #3 0x00c671a2 in goo_canvas_item_get_requested_area (item=0x93bd0a0,
    cr=0x93c1218, requested_area=0xbfe6a620) at goocanvasitem.c:1532
    #4 0x00c762be in goo_canvas_table_size_request_init (table=0x9398380,
    cr=0x93c1218) at goocanvastable.c:1089
    #5 0x00c77beb in goo_canvas_table_get_requested_area (item=0x9398380,
    cr=0x93c1218, requested_area=0xbfe6a728) at goocanvastable.c:1767
    #6 0x00c782c9 in goo_canvas_table_update (item=0x9398380, entire_tree=0,
    cr=0x93c1218, bounds=0xbfe6a7c8) at goocanvastable.c:1988

     

Log in to post a comment.