Delivered-To: garrigue at math.nagoya-u.ac.jp Authentication-Results: mailhost.math.nagoya-u.ac.jp sender=lablgtk-bounces at yquem.inria.fr; domainkey=neutral (no query protocol specified; no policy for yquem.inria.fr) Delivered-To: Lablgtk at yquem.inria.fr DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:sender:received :in-reply-to:references:date:x-google-sender-auth:message-id:subject :from:to:cc:content-type; bh=6teXsISeXfl5H61wELD+Hfp9S39i/SJQgFX42I53XJ4=; b=kuzZ0aqi4HUQEmbWCAj2YFf35bQHsufSlbLBcqq8lcuJQ++wQ0t6iUzK+A+9WQKLI3 2ttVhGhU16yLa5hV0CxjWHGxmrF4O8A2BJ/eF8wlXjMt1tWNoovl23/SZ30mssaB+wXh JOgC94/5YnbH4kX6EoV6joAo+qSxSmNv0tDAc= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; b=g5UwTb+UERY3Att3lNNuJYOxKFQdsEqvimj3R8rfcd3g32nwv9cai7qhgs/vjjj6eo S/+vgFi/OsS61Qtxl63blAKFEEdGgpSTQp927z/VCEVQh+tvYFA+uYtDr1qxZLCyIWrs IFdxXz7l2gWjwBElcnDiznAkGlOQuTZ5ziUck= MIME-Version: 1.0 In-Reply-To: <20100914185304.67bedad5.pdgroves at gmail.com> References: <20100913205658.026ac951.pdgroves at gmail.com> <20100914154914.9a890dc1.pdgroves@gmail.com> <20100914185304.67bedad5.pdgroves@gmail.com> Date: Wed, 15 Sep 2010 13:24:37 +0900 Message-ID: Subject: Re: [Lablgtk] segfault when reattaching a tree model to a tree view From: Jacques Garrigue To: Peter Groves Content-Type: multipart/mixed; boundary=e0cb4e887b1b1d999d049044b54b Cc: Lablgtk at yquem.inria.fr Status: U --e0cb4e887b1b1d999d049044b54b Content-Type: text/plain; charset=ISO-8859-1 On Wed, Sep 15, 2010 at 8:53 AM, Peter Groves wrote: > The newest development is that the segfault is avoided if the treeview > is not displayed in a scrolled_window. However, there are several > hundred rows to be displayed, so this isn't a long term option. Also, > when it's not in the scrolled_window, the entire user interface is much > much slower (I assume because all rows are being displayed, even if > they are off screen). So now I'm considering just trying to find > another way to display this table, which will probably just mean > implementing my own less-pretty but more stable version of treeview. This is strange. At least, using the newest version of lablgtk2 (subversion repository) with Gtk 2.16.6, I see no such problem. (I just tried to wrap a scrolled_window around the tree_model.ml example, but no problem appears.) Can you try the enclosed code, and see whether it segfaults when you press "Dump data" twice? (Your code being not self-contained, I cannot test it). Jacques --e0cb4e887b1b1d999d049044b54b Content-Type: application/octet-stream; name="tree_model.ml" Content-Disposition: attachment; filename="tree_model.ml" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ge3otnlx0 KCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKQooKiAgICBMYWJsZ3RrIC0gRXhhbXBsZXMgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICopCigqICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KikKKCogICAgVGhlcmUgaXMgbm8gc3BlY2lmaWMgbGljZW5zaW5nIHBvbGljeSwgYnV0IHlvdSBt YXkgZnJlZWx5ICAgICAgICAgICAqKQooKiAgICB0YWtlIGluc3BpcmF0aW9uIGZyb20gdGhlIGNv ZGUsIGFuZCBjb3B5IHBhcnRzIG9mIGl0IGluIHlvdXIgICAgICAgICopCigqICAgIGFwcGxpY2F0 aW9uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKikKKCogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAqKQooKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiopCgooKiBWYXJpb3Vz IGV4cGVyaW1lbnRzIHdpdGggR3RrVHJlZU1vZGVsU29ydCBhbmQgR3RrVHJlZU1vZGVsRmlsdGVy ICopCgp0eXBlIGRhdGUgPSB7CiAgICBtb24gOiBpbnQgOwogICAgZGF5IDogaW50IDsKICB9Cgps ZXQgZm9ybWF0X2RhdGUgeyBtb24gPSBtb24gOyBkYXkgPSBkYXkgfSA9CiAgbGV0IG1vbl9zdHIg PSBtYXRjaCBtb24gd2l0aAogIHwgMSAtPiAiSmFuIiB8IDIgLT4gIkZlYiIgfCAzIC0+ICJNYXIi IHwgNCAtPiAiQXByIgogIHwgNSAtPiAiTWF5IiB8IDYgLT4gIkp1biIgfCA3IC0+ICJKdWwiIHwg OCAtPiAiQW91IgogIHwgOSAtPiAiU2VwIiB8IDEwIC0+ICJPY3QiIHwgMTEgLT4gIk5vdiIgfCAx MiAtPiAiRGVjIgogIHwgXyAtPiBpbnZhbGlkX2FyZyAiYmFkIG1vbnRoIiBpbgogIFByaW50Zi5z cHJpbnRmICIlIDJkICVzIiBkYXkgbW9uX3N0cgoKbGV0IGRhdGEgPSBbCiAgYEhPTUUsICAgICJo b21lIiwgICB0cnVlLCAgeyBkYXkgPSAyOSA7IG1vbiA9IDAyIH0gOwogIGBKVU1QX1RPLCAiZ28i LCAgICAgdHJ1ZSwgIHsgZGF5ID0gMTUgOyBtb24gPSAwMiB9IDsKICBgUVVJVCwgICAgInF1aXQi LCAgIGZhbHNlLCB7IGRheSA9IDI3IDsgbW9uID0gMDEgfSA7CiAgYFNUT1AsICAgICJzdG9wIiwg ICB0cnVlLCAgeyBkYXkgPSAyMSA7IG1vbiA9IDAxIH0gOwogIGBERUxFVEUsICAiZGVsZXRlIiwg ZmFsc2UsIHsgZGF5ID0gMTUgOyBtb24gPSAwMSB9IDsKXQoKCgooKiBTb3J0IGZ1bmN0aW9uOiBz b3J0IGFjY29yZGluZyB0byBzdHJpbmcgbGVuZ3RoICEgKikKbGV0IHNvcnRfZnVuY3Rpb24gY29s dW1uIChtb2RlbCA6ICNHVHJlZS5tb2RlbCkgaXRfYSBpdF9iID0KICBsZXQgYSA9IG1vZGVsI2dl dCB+cm93Oml0X2EgfmNvbHVtbiBpbgogIGxldCBiID0gbW9kZWwjZ2V0IH5yb3c6aXRfYiB+Y29s dW1uIGluCiAgY29tcGFyZSAoU3RyaW5nLmxlbmd0aCBhKSAoU3RyaW5nLmxlbmd0aCBiKQoKCmxl dCBwcmludF9mbGFncyBuYW1lIChtIDogI0dUcmVlLm1vZGVsKSA9CiAgRm9ybWF0LnByaW50ZiAi JXNmbGFnczogJXNALiIgbmFtZQogICAgKFN0cmluZy5jb25jYXQgIjsgIgogICAgICAgKExpc3Qu bWFwCgkgIChmdW5jdGlvbiAKCSAgICB8IGBJVEVSU19QRVJTSVNUIC0+ICJwZXJzaXN0ZW50IGl0 ZXJhdG9ycyIKCSAgICB8IGBMSVNUX09OTFkgICAgIC0+ICJsaXN0IG9ubHkiKQoJICBtI2ZsYWdz KSkKCnR5cGUgbW9kZWwgPSB7IG1vZGVsOkdUcmVlLm1vZGVsX3NvcnQ7CgkgICAgICAgbW9kZWxf ZmlsdGVyZWQ6R1RyZWUubW9kZWxfZmlsdGVyOwoJICAgICAgIHN0b3JlOkdUcmVlLmxpc3Rfc3Rv cmU7CgkgICAgICAgc3RvY2tfaWRfY29sOkd0a1N0b2NrLmlkIEdUcmVlLmNvbHVtbjsKCSAgICAg ICBzdHJfY29sOnN0cmluZyBHVHJlZS5jb2x1bW47CgkgICAgICAgdmlzX2NvbDpib29sIEdUcmVl LmNvbHVtbjsKCSAgICAgICBkYXRlX2NvbDpkYXRlIEdUcmVlLmNvbHVtbjsgfQoKbGV0IG1ha2Vf bW9kZWwgZGF0YSA9CiAgbGV0IGNvbHMgPSBuZXcgR1RyZWUuY29sdW1uX2xpc3QgaW4KICBsZXQg c3RvY2tfaWRfY29sID0gY29scyNhZGQgR3RrU3RvY2suY29udiBpbgogIGxldCBzdHJfY29sICAg ICAgPSBjb2xzI2FkZCBHb2JqZWN0LkRhdGEuc3RyaW5nIGluCiAgbGV0IHZpc19jb2wgICAgICA9 IGNvbHMjYWRkIEdvYmplY3QuRGF0YS5ib29sZWFuIGluCiAgbGV0IGRhdGVfY29sICAgICA9IGNv bHMjYWRkIEdvYmplY3QuRGF0YS5jYW1sIGluCiAgbGV0IGwgPSBHVHJlZS5saXN0X3N0b3JlIGNv bHMgaW4KICBwcmludF9mbGFncyAiTGlzdFN0b3JlIiBsIDsKICBMaXN0Lml0ZXIKICAgIChmdW4g KHN0b2NrX2lkLCBzdHIsIHZpcywgZGF0ZSkgLT4KICAgICAgbGV0IHJvdyA9IGwjYXBwZW5kICgp IGluCiAgICAgIGwjc2V0IH5yb3cgfmNvbHVtbjpzdG9ja19pZF9jb2wgc3RvY2tfaWQgOwogICAg ICBsI3NldCB+cm93IH5jb2x1bW46c3RyX2NvbCBzdHIgOwogICAgICBsI3NldCB+cm93IH5jb2x1 bW46dmlzX2NvbCB2aXMgOwogICAgICBsI3NldCB+cm93IH5jb2x1bW46ZGF0ZV9jb2wgZGF0ZSkK ICAgIGRhdGEgOwogIGxldCBzID0gR1RyZWUubW9kZWxfc29ydCBsIGluCiAgcHJpbnRfZmxhZ3Mg IlRyZWVNb2RlbFNvcnQiIHMgOwogIGxldCBmID0gR1RyZWUubW9kZWxfZmlsdGVyIHMgaW4KICBw cmludF9mbGFncyAiVHJlZU1vZGVsRmlsdGVyIiBmIDsKICBmI3NldF92aXNpYmxlX2NvbHVtbiB2 aXNfY29sIDsKICAoKiBsZXQgcycgPSBHVHJlZS5tb2RlbF9zb3J0IGYgaW4gKikKICBzI2Nvbm5l Y3Qjc29ydF9jb2x1bW5fY2hhbmdlZAogICAgKGZ1biAoKSAtPgogICAgICBtYXRjaCBzI2dldF9z b3J0X2NvbHVtbl9pZCB3aXRoCiAgICAgIHwgTm9uZSAtPiBGb3JtYXQucHJpbnRmICJubyBzb3J0 X2NvbHVtbkAuIgogICAgICB8IFNvbWUgKGlkLCBgQVNDRU5ESU5HKSAgLT4KCSAgRm9ybWF0LnBy aW50ZiAic29ydF9jb2x1bW4gPSAlZCwgYXNjZW5kaW5nQC4iIGlkCiAgICAgIHwgU29tZSAoaWQs IGBERVNDRU5ESU5HKSAtPgoJICBGb3JtYXQucHJpbnRmICJzb3J0X2NvbHVtbiA9ICVkLCBkZXNj ZW5kaW5nQC4iIGlkKSA7CiAgcyNzZXRfc29ydF9mdW5jIDAgKHNvcnRfZnVuY3Rpb24gc3RyX2Nv bCk7CiAge21vZGVsPXM7IG1vZGVsX2ZpbHRlcmVkPWY7IHN0b3JlPWw7CiAgIHN0b2NrX2lkX2Nv bD1zdG9ja19pZF9jb2w7IHN0cl9jb2w9c3RyX2NvbDsKICAgdmlzX2NvbD12aXNfY29sOyBkYXRl X2NvbD1kYXRlX2NvbDsgfQoKbGV0IG1ha2VfdmlldyBzdG9yZSBwYWNraW5nID0KICBsZXQgdmll d19jb2wgPQogICAgbGV0IGNvbCA9IEdUcmVlLnZpZXdfY29sdW1uIH50aXRsZToiU3RvY2sgSWNv bnMiICgpIGluCgogICAgbGV0IHN0cl9yZW5kZXJlciA9CiAgICAgIEdUcmVlLmNlbGxfcmVuZGVy ZXJfdGV4dCBbIGBGQU1JTFkgIm1vbm9zcGFjZSIgOyBgWEFMSUdOIDEuIF0gaW4KICAgIGNvbCNw YWNrIHN0cl9yZW5kZXJlciA7CiAgICBjb2wjYWRkX2F0dHJpYnV0ZSBzdHJfcmVuZGVyZXIgInRl eHQiIHN0b3JlLnN0cl9jb2wgOwoKICAgIGxldCBwYl9yZW5kZXJlciA9IEdUcmVlLmNlbGxfcmVu ZGVyZXJfcGl4YnVmIFsgYFNUT0NLX1NJWkUgYEJVVFRPTiBdIGluCiAgICBjb2wjcGFjayBwYl9y ZW5kZXJlciA7CiAgICBjb2wjYWRkX2F0dHJpYnV0ZSBwYl9yZW5kZXJlciAic3RvY2tfaWQiIHN0 b3JlLnN0b2NrX2lkX2NvbCA7CgogICAgY29sI3NldF9zb3J0X2NvbHVtbl9pZCAwIDsKICAgIGNv bCBpbgoKICBsZXQgdmlld19kYXRlX2NvbCA9CiAgICBsZXQgY29sID0gR1RyZWUudmlld19jb2x1 bW4gfnRpdGxlOiJEYXRlIiAoKSBpbgogICAgbGV0IHN0cl9yZW5kZXJlciA9IEdUcmVlLmNlbGxf cmVuZGVyZXJfdGV4dCBbIGBYQUxJR04gMC41IF0gaW4KICAgIGNvbCNwYWNrIHN0cl9yZW5kZXJl ciA7CiAgICBjb2wjc2V0X2NlbGxfZGF0YV9mdW5jIHN0cl9yZW5kZXJlcgogICAgICAoZnVuIG1v ZGVsIHJvdyAtPgoJbGV0IGRhdGUgPSBtb2RlbCNnZXQgfnJvdyB+Y29sdW1uOnN0b3JlLmRhdGVf Y29sIGluCglzdHJfcmVuZGVyZXIjc2V0X3Byb3BlcnRpZXMgWyBgVEVYVCAoZm9ybWF0X2RhdGUg ZGF0ZSkgXSkgOwogICAgY29sIGluCgogIGxldCBiID0KICAgIEdCdXR0b24uY2hlY2tfYnV0dG9u IH5sYWJlbDoiX0ZpbHRlciBkYXRhIiB+dXNlX21uZW1vbmljOnRydWUgfnBhY2tpbmcgKCkgaW4K CiAgbGV0IHZpZXdfdG9nZ2xlX2NvbCA9CiAgICBsZXQgY29sID0gR1RyZWUudmlld19jb2x1bW4g fnRpdGxlOiJBY3RpdmUiICgpIGluCiAgICBsZXQgdG9nZ2xlID0gR1RyZWUuY2VsbF9yZW5kZXJl cl90b2dnbGUgW2BBQ1RJVkFUQUJMRSB0cnVlXSBpbgogICAgY29sI3BhY2sgdG9nZ2xlIDsKICAg IGNvbCNhZGRfYXR0cmlidXRlIHRvZ2dsZSAiYWN0aXZlIiBzdG9yZS52aXNfY29sOwogICAgdG9n Z2xlI2Nvbm5lY3QjdG9nZ2xlZCAoZnVuIHAgLT4KICAgICAgbGV0IGwgPSBzdG9yZS5zdG9yZSBh bmQgY29sdW1uID0gc3RvcmUudmlzX2NvbCBpbgogICAgICBsZXQgcCA9CglpZiBiI2FjdGl2ZSB0 aGVuIHN0b3JlLm1vZGVsX2ZpbHRlcmVkI2NvbnZlcnRfcGF0aF90b19jaGlsZF9wYXRoIHAKCWVs c2UgcCBpbgogICAgICBsZXQgcm93ID0gbCNnZXRfaXRlciAoc3RvcmUubW9kZWwjY29udmVydF9w YXRoX3RvX2NoaWxkX3BhdGggcCkgaW4KICAgICAgbCNzZXQgfnJvdyB+Y29sdW1uIChub3QgKGwj Z2V0IH5yb3cgfmNvbHVtbikpKTsKICAgIGNvbCBpbgoKICBsZXQgdiA9IEdUcmVlLnZpZXcgfm1v ZGVsOnN0b3JlLm1vZGVsIH53aWR0aDoyMDAgfnBhY2tpbmcgKCkgaW4KICB2I2FwcGVuZF9jb2x1 bW4gdmlld19jb2wgOwogIHYjYXBwZW5kX2NvbHVtbiB2aWV3X2RhdGVfY29sIDsKICB2I2FwcGVu ZF9jb2x1bW4gdmlld190b2dnbGVfY29sIDsKICBiI2Nvbm5lY3QjdG9nZ2xlZAogICAgKGZ1biAo KSAtPiAKICAgICAgbGV0IG5ld19tb2RlbCA9CglpZiBiI2FjdGl2ZQoJdGhlbiBzdG9yZS5tb2Rl bF9maWx0ZXJlZCNjb2VyY2UKCWVsc2Ugc3RvcmUubW9kZWwjY29lcmNlIGluCiAgICAgICgqIGxl dCAoaWQsIGRpcikgPQoJR2F1eC5kZWZhdWx0ICgtMSwgYEFTQ0VORElORykgfm9wdDpjdXJyZW50 I2dldF9zb3J0X2NvbHVtbl9pZCBpbgogICAgICBuZXdfbW9kZWwjc2V0X3NvcnRfY29sdW1uX2lk IGlkIGRpciA7ICopCgogICAgICB2I3NldF9tb2RlbCAoU29tZSBuZXdfbW9kZWwpICkgOwogIHYK CmxldCBpbnNwZWN0X2RhdGFfMSBjb2x1bW4gKG1vZGVsIDogR1RyZWUubW9kZWwpID0KICBGb3Jt YXQucHJpbnRmICJAWzx2IDI+VHJhdmVyc2Ugd2l0aCBpdGVyczoiIDsKICBiZWdpbiBtYXRjaCBt b2RlbCNnZXRfaXRlcl9maXJzdCB3aXRoCiAgfCBOb25lIC0+IEZvcm1hdC5wcmludGYgIkAgZW1w dHkgbW9kZWwiCiAgfCBTb21lIHJvdyAtPgogICAgICBsZXQgY29udCA9IHJlZiB0cnVlIGluCiAg ICAgIHdoaWxlICFjb250IGRvCglsZXQgZGF0YSA9IG1vZGVsI2dldCB+cm93IH5jb2x1bW4gaW4K CUZvcm1hdC5wcmludGYgIkAgJXMiIGRhdGEgOwoJY29udCA6PSBtb2RlbCNpdGVyX25leHQgcm93 CiAgICAgIGRvbmUgCiAgZW5kIDsKICBGb3JtYXQucHJpbnRmICJAXUAuIgoKbGV0IGluc3BlY3Rf ZGF0YV8yIGNvbHVtbiAobW9kZWwgOiBHVHJlZS5tb2RlbCkgPQogIEZvcm1hdC5wcmludGYgIkBb PHYgMj5UcmF2ZXJzZSB3aXRoICNmb3JlYWNoOiIgOwogIG1vZGVsI2ZvcmVhY2gKICAgIChmdW4g XyByb3cgLT4KICAgICAgbGV0IGRhdGEgPSBtb2RlbCNnZXQgfnJvdyB+Y29sdW1uIGluCiAgICAg IEZvcm1hdC5wcmludGYgIkAgJXMiIGRhdGEgOwogICAgICBmYWxzZSkgOwogIEZvcm1hdC5wcmlu dGYgIkBdQC4iCgoJCmxldCBtYWluID0KICBsZXQgdyA9IEdXaW5kb3cud2luZG93IH50aXRsZToi R3RrTGlzdFN0b3JlIHRlc3QiICgpIGluCiAgdyNjb25uZWN0I2Rlc3Ryb3kgR01haW4ucXVpdCA7 CgogIGxldCBzY3JvbGxlciA9CiAgICBHQmluLnNjcm9sbGVkX3dpbmRvdyB+aHBvbGljeTpgQVVU T01BVElDIH52cG9saWN5OmBBVVRPTUFUSUMKICAgICAgfnBhY2tpbmc6dyNhZGQgfndpZHRoOjE1 MCB+aGVpZ2h0OjEwMCAoKSBpbgogIHNjcm9sbGVyI3NldF9zaGFkb3dfdHlwZSBgRVRDSEVEX0lO OwogIHNjcm9sbGVyI3NldF9yZXNpemVfbW9kZSBgUEFSRU5UOwoKICBsZXQgYm94ID0gR1BhY2su dmJveCB+cGFja2luZzpzY3JvbGxlciNhZGRfd2l0aF92aWV3cG9ydCAoKSBpbgoKICBsZXQgbSA9 IG1ha2VfbW9kZWwgZGF0YSBpbgogIGxldCB2ID0gbWFrZV92aWV3IG0gYm94I3BhY2sgaW4KICAK ICBiZWdpbgogICAgbGV0IGIgPSBHQnV0dG9uLmJ1dHRvbiB+bGFiZWw6IkR1bXAgZGF0YSIgfnBh Y2tpbmc6Ym94I3BhY2sgKCkgaW4KICAgIGIjY29ubmVjdCNjbGlja2VkCiAgICAgIChmdW4gKCkg LT4KCWxldCBtb2RlbCA9IG0ubW9kZWwjY29lcmNlIGluCgliZWdpbiB0cnkKICAgICAgICAgIGln bm9yZSB2I21vZGVsOwoJICB2I3NldF9tb2RlbCBOb25lCgl3aXRoIF8gLT4KCSAgdiNzZXRfbW9k ZWwgKFNvbWUgbW9kZWwpCgllbmQ7CglpbnNwZWN0X2RhdGFfMSBtLnN0cl9jb2wgbW9kZWwgOwoJ aW5zcGVjdF9kYXRhXzIgbS5zdHJfY29sIG1vZGVsKQogIGVuZCA7CgogIHcjc2hvdyAoKSA7CiAg R01haW4ubWFpbiAoKQo= --e0cb4e887b1b1d999d049044b54b Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Lablgtk mailing list Lablgtk@yquem.inria.fr http://yquem.inria.fr/cgi-bin/mailman/listinfo/lablgtk --e0cb4e887b1b1d999d049044b54b--