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=x1RK1rgbmT2dah3jjeYejRKIgMzYSWwU+VGnANrVw3Y=; b=QhtnY8gmrmmBzpLc3O+CUNmduOaE7EyTEsa2iXJW+JfcxSkoVbHD4U0UhdE2tu50k6 YBnbRE85hRXHFUSJJkTRYTjQ7icRb/YhxBW+FTJviPL32jg8+Ns98QX4g7F1MQ5bjh4O 8WeXEnBig+iNfYne8yerERRaYvf52Qg2iQk0Q= 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=mIG7DDcEqWZ93oX409vTK/xKcttb+MXsU30kIOUYsfhvL1z6VSpai2i9RUBTvApOC3 rDHp3Hszod+og0cOW8ukuqZLntjn0jGP4GbGdN5FI17e4R/i1gPKBQfkxuv7ze9B09vm jcpUnJPqwI/KNS/4BNriszK7k8gAqqD6BHwVo= MIME-Version: 1.0 In-Reply-To: References: <20100913205658.026ac951.pdgroves at gmail.com> <20100914154914.9a890dc1.pdgroves@gmail.com> <20100914185304.67bedad5.pdgroves@gmail.com> Date: Wed, 15 Sep 2010 16:11:04 +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=00163630f8c1627f17049047089c Cc: Lablgtk at yquem.inria.fr Status: U --00163630f8c1627f17049047089c Content-Type: text/plain; charset=ISO-8859-1 On Wed, Sep 15, 2010 at 1:41 PM, Peter Groves wrote: > One more update: when I put the tree_view in a scrolled_window the > "wrong" way, where the column headers scroll away like everything > else, the problem also goes away. I do this by adding the tree_view to > the scrolled_window using scroller#add_with_viewport instead of > scroller#add. I was using #add_with_viewport. Here is a new version of tree_model.ml which does it right. Again, you must link it with gtkInit.cmo. For me it works correctly. Jacques --00163630f8c1627f17049047089c Content-Type: application/octet-stream; name="tree_model.ml" Content-Disposition: attachment; filename="tree_model.ml" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ge3uqywl0 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 Z2V0IH5yb3cgfmNvbHVtbikpKTsKICAgIGNvbCBpbgoKICBsZXQgc2Nyb2xsZXIgPQogICAgR0Jp bi5zY3JvbGxlZF93aW5kb3cgfmhwb2xpY3k6YEFVVE9NQVRJQyB+dnBvbGljeTpgQVVUT01BVElD CiAgICAgIH5wYWNraW5nIH53aWR0aDoxNTAgfmhlaWdodDoxMDAgKCkgaW4KICBzY3JvbGxlciNz ZXRfc2hhZG93X3R5cGUgYEVUQ0hFRF9JTjsKICBzY3JvbGxlciNzZXRfcmVzaXplX21vZGUgYFBB UkVOVDsKCiAgbGV0IHYgPSBHVHJlZS52aWV3IH5tb2RlbDpzdG9yZS5tb2RlbCB+d2lkdGg6MjAw IH5wYWNraW5nOnNjcm9sbGVyI2FkZCAoKSBpbgogIHYjYXBwZW5kX2NvbHVtbiB2aWV3X2NvbCA7 CiAgdiNhcHBlbmRfY29sdW1uIHZpZXdfZGF0ZV9jb2wgOwogIHYjYXBwZW5kX2NvbHVtbiB2aWV3 X3RvZ2dsZV9jb2wgOwogIGIjY29ubmVjdCN0b2dnbGVkCiAgICAoZnVuICgpIC0+IAogICAgICBs ZXQgbmV3X21vZGVsID0KCWlmIGIjYWN0aXZlCgl0aGVuIHN0b3JlLm1vZGVsX2ZpbHRlcmVkI2Nv ZXJjZQoJZWxzZSBzdG9yZS5tb2RlbCNjb2VyY2UgaW4KICAgICAgKCogbGV0IChpZCwgZGlyKSA9 CglHYXV4LmRlZmF1bHQgKC0xLCBgQVNDRU5ESU5HKSB+b3B0OmN1cnJlbnQjZ2V0X3NvcnRfY29s dW1uX2lkIGluCiAgICAgIG5ld19tb2RlbCNzZXRfc29ydF9jb2x1bW5faWQgaWQgZGlyIDsgKikK CiAgICAgIHYjc2V0X21vZGVsIChTb21lIG5ld19tb2RlbCkgKSA7CiAgdgoKbGV0IGluc3BlY3Rf ZGF0YV8xIGNvbHVtbiAobW9kZWwgOiBHVHJlZS5tb2RlbCkgPQogIEZvcm1hdC5wcmludGYgIkBb PHYgMj5UcmF2ZXJzZSB3aXRoIGl0ZXJzOiIgOwogIGJlZ2luIG1hdGNoIG1vZGVsI2dldF9pdGVy X2ZpcnN0IHdpdGgKICB8IE5vbmUgLT4gRm9ybWF0LnByaW50ZiAiQCBlbXB0eSBtb2RlbCIKICB8 IFNvbWUgcm93IC0+CiAgICAgIGxldCBjb250ID0gcmVmIHRydWUgaW4KICAgICAgd2hpbGUgIWNv bnQgZG8KCWxldCBkYXRhID0gbW9kZWwjZ2V0IH5yb3cgfmNvbHVtbiBpbgoJRm9ybWF0LnByaW50 ZiAiQCAlcyIgZGF0YSA7Cgljb250IDo9IG1vZGVsI2l0ZXJfbmV4dCByb3cKICAgICAgZG9uZSAK ICBlbmQgOwogIEZvcm1hdC5wcmludGYgIkBdQC4iCgpsZXQgaW5zcGVjdF9kYXRhXzIgY29sdW1u IChtb2RlbCA6IEdUcmVlLm1vZGVsKSA9CiAgRm9ybWF0LnByaW50ZiAiQFs8diAyPlRyYXZlcnNl IHdpdGggI2ZvcmVhY2g6IiA7CiAgbW9kZWwjZm9yZWFjaAogICAgKGZ1biBfIHJvdyAtPgogICAg ICBsZXQgZGF0YSA9IG1vZGVsI2dldCB+cm93IH5jb2x1bW4gaW4KICAgICAgRm9ybWF0LnByaW50 ZiAiQCAlcyIgZGF0YSA7CiAgICAgIGZhbHNlKSA7CiAgRm9ybWF0LnByaW50ZiAiQF1ALiIKCgkK bGV0IG1haW4gPQogIGxldCB3ID0gR1dpbmRvdy53aW5kb3cgfnRpdGxlOiJHdGtMaXN0U3RvcmUg dGVzdCIgKCkgaW4KICB3I2Nvbm5lY3QjZGVzdHJveSBHTWFpbi5xdWl0IDsKCiAgbGV0IGJveCA9 IEdQYWNrLnZib3ggfnBhY2tpbmc6dyNhZGQgKCkgaW4KCiAgbGV0IG0gPSBtYWtlX21vZGVsIGRh dGEgaW4KICBsZXQgdiA9IG1ha2VfdmlldyBtIGJveCNhZGQgaW4KICAKICBiZWdpbgogICAgbGV0 IGIgPSBHQnV0dG9uLmJ1dHRvbiB+bGFiZWw6IkR1bXAgZGF0YSIgfnBhY2tpbmc6Ym94I3BhY2sg KCkgaW4KICAgIGIjY29ubmVjdCNjbGlja2VkCiAgICAgIChmdW4gKCkgLT4KCWxldCBtb2RlbCA9 IG0ubW9kZWwjY29lcmNlIGluCgliZWdpbiB0cnkKICAgICAgICAgIGlnbm9yZSB2I21vZGVsOwoJ ICB2I3NldF9tb2RlbCBOb25lCgl3aXRoIF8gLT4KCSAgdiNzZXRfbW9kZWwgKFNvbWUgbW9kZWwp CgllbmQ7CglpbnNwZWN0X2RhdGFfMSBtLnN0cl9jb2wgbW9kZWwgOwoJaW5zcGVjdF9kYXRhXzIg bS5zdHJfY29sIG1vZGVsKQogIGVuZCA7CgogIHcjc2hvdyAoKSA7CiAgR01haW4ubWFpbiAoKQo= --00163630f8c1627f17049047089c 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 --00163630f8c1627f17049047089c--