[pygtk] gtkspell breaks the TextView / accessing invalidated iterators

Walter Leibbrandt walter at translate.org.za
Mon Jul 7 16:53:41 WST 2008


T2gsIHNvcnJ5LiBMb29rcyBsaWtlIHlvdSBmb3VuZCBweWd0a3NwZWxsLiA6UAoKU2FtdWVsIEFi
ZWxzIHdyb3RlOgo+IEhpLAo+Cj4gVGhlIGZvbGxvd2luZyBjb2RlIHdvcmtzIGZsYXdsZXNzbHkg
d2hlbiB0aGUgZ3Rrc3BlbGwgbGluZSBpcyBjb21tZW50ZWQKPiBvdXQsIGFuZCBicmVha3Mgd2hl
biBndGtzcGVsbCBpcyBlbmFibGVkLgo+Cj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+IGltcG9y
dCBndGssIGd0a3NwZWxsLCBsb2NhbGUKPgo+IGNsYXNzIFdpbmRvdyhndGsuV2luZG93KToKPiAg
ICAgZGVmIF9faW5pdF9fKHNlbGYpOgo+ICAgICAgICAgZ3RrLldpbmRvdy5fX2luaXRfXyhzZWxm
KQo+ICAgICAgICAgc2VsZi52Ym94ICAgPSBndGsuVkJveCgpCj4gICAgICAgICBzZWxmLmhib3gg
ICA9IGd0ay5IQm94KCkKPiAgICAgICAgIHNlbGYuc2Nyb2xsID0gZ3RrLlNjcm9sbGVkV2luZG93
KCkKPiAgICAgICAgIHNlbGYudmlldyAgID0gZ3RrLlRleHRWaWV3KCkKPiAgICAgICAgIGJ1ZmZl
ciAgICAgID0gc2VsZi52aWV3LmdldF9idWZmZXIoKQo+ICAgICAgICAgc2VsZi5zY3JvbGwuc2V0
X3BvbGljeShndGsuUE9MSUNZX0FVVE9NQVRJQywKPiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZ3RrLlBPTElDWV9BVVRPTUFUSUMpCj4gICAgICAgICBzZWxmLnNldF9zaXplX3JlcXVl
c3QoNjAwLCA2MDApCj4gICAgICAgICBzZWxmLnZib3guc2V0X2JvcmRlcl93aWR0aCg2KQo+ICAg
ICAgICAgc2VsZi52Ym94LnNldF9zcGFjaW5nKDYpCj4gICAgICAgICBzZWxmLmhib3guc2V0X3Nw
YWNpbmcoNikKPiAgICAgICAgIHNlbGYuaW5zZXJ0ZWQgPSBOb25lCj4KPiAgICAgICAgICMgUGFj
ayB3aWRnZXRzLgo+ICAgICAgICAgc2VsZi5zY3JvbGwuYWRkX3dpdGhfdmlld3BvcnQoc2VsZi52
aWV3KQo+ICAgICAgICAgc2VsZi5hZGQoc2VsZi52Ym94KQo+ICAgICAgICAgc2VsZi52Ym94LnBh
Y2tfc3RhcnQoc2VsZi5oYm94LCBGYWxzZSkKPiAgICAgICAgIHNlbGYudmJveC5wYWNrX3N0YXJ0
KHNlbGYuc2Nyb2xsKQo+ICAgICAgICAgc2VsZi5zaG93X2FsbCgpCj4KPiAgICAgICAgIGJ1ZmZl
ci5jb25uZWN0KCdpbnNlcnQtdGV4dCcsIHNlbGYuX29uX2J1ZmZlcl9pbnNlcnRfdGV4dCkKPiAg
ICAgICAgIGJ1ZmZlci5jb25uZWN0KCdjaGFuZ2VkJywgc2VsZi5fb25fYnVmZmVyX2NoYW5nZWQp
Cj4gICAgICAgICAjZ3Rrc3BlbGwuU3BlbGwoc2VsZi52aWV3KS5zZXRfbGFuZ3VhZ2UobG9jYWxl
LmdldGxvY2FsZSgpWzBdKQo+Cj4KPiAgICAgZGVmIF9vbl9idWZmZXJfaW5zZXJ0X3RleHQoc2Vs
ZiwgYnVmZmVyLCBpdGVyLCB0ZXh0LCBsZW5ndGgpOgo+ICAgICAgICAgcHJpbnQgIkluc2VydGVk
OiIsIHJlcHIodGV4dCkKPiAgICAgICAgIHNlbGYuaW5zZXJ0ZWQgPSB0ZXh0LCBpdGVyLmdldF9v
ZmZzZXQoKQo+Cj4KPiAgICAgZGVmIF9vbl9idWZmZXJfY2hhbmdlZChzZWxmLCBidWZmZXIpOgo+
ICAgICAgICAgaWYgc2VsZi5pbnNlcnRlZCBpcyBOb25lOgo+ICAgICAgICAgICAgIHJldHVybgo+
ICAgICAgICAgcHJpbnQgIkNoYW5nZWQ6IiwgcmVwcihzZWxmLmluc2VydGVkKQo+ICAgICAgICAg
aW5zZXJ0ZWQsIHBvcyA9IHNlbGYuaW5zZXJ0ZWQKPiAgICAgICAgIHNlbGYuaW5zZXJ0ZWQgPSBO
b25lCj4gICAgICAgICBpZiBpbnNlcnRlZCA9PSAnIyc6Cj4gICAgICAgICAgICAgYnVmZmVyLmRl
bGV0ZShidWZmZXIuZ2V0X2l0ZXJfYXRfb2Zmc2V0KHBvcyksCj4gICAgICAgICAgICAgICAgICAg
ICAgICAgICBidWZmZXIuZ2V0X2l0ZXJfYXRfb2Zmc2V0KHBvcyArIDEpKQo+ICAgICAgICAgICAg
IGJ1ZmZlci5pbnNlcnQoYnVmZmVyLmdldF9pdGVyX2F0X29mZnNldChwb3MpLCAiWCIpCj4KPgo+
ICMgQ3JlYXRlIHdpZGdldHMuCj4gd2luZG93ID0gV2luZG93KCkKPiB3aW5kb3cuY29ubmVjdCgn
ZGVsZXRlLWV2ZW50JywgZ3RrLm1haW5fcXVpdCkKPiBndGsubWFpbigpCj4g77u/LS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQo+Cj4gV2l0aCBndGtzcGVsbCBkaXNhYmxlZCwgYW55IHRpbWUgdGhlICIj
IiBrZXkgaXMgcHJlc3NlZCBhbiBYIGlzIHdyaXR0ZW4KPiBpbnRvIHRoZSBidWZmZXIuCj4g77u/
V2l0aCBndGtzcGVsbCBlbmFibGVkLCB0aGUgZm9sbG93aW5nIG91dHB1dCBpcyBnZW5lcmF0ZWQ6
Cj4KPiAtLS0tLS0tLS0tLS0tLS0tLS0KPiBHdGtXYXJuaW5nOiBJbnZhbGlkIHRleHQgYnVmZmVy
IGl0ZXJhdG9yOiBlaXRoZXIgdGhlIGl0ZXJhdG9yIGlzCj4gdW5pbml0aWFsaXplZCwgb3IgdGhl
IGNoYXJhY3RlcnMvcGl4YnVmcy93aWRnZXRzIGluIHRoZSBidWZmZXIgaGF2ZSBiZWVuCj4gbW9k
aWZpZWQgc2luY2UgdGhlIGl0ZXJhdG9yIHdhcyBjcmVhdGVkLgo+IFlvdSBtdXN0IHVzZSBtYXJr
cywgY2hhcmFjdGVyIG51bWJlcnMsIG9yIGxpbmUgbnVtYmVycyB0byBwcmVzZXJ2ZSBhCj4gcG9z
aXRpb24gYWNyb3NzIGJ1ZmZlciBtb2RpZmljYXRpb25zLgo+IFlvdSBjYW4gYXBwbHkgdGFncyBh
bmQgaW5zZXJ0IG1hcmtzIHdpdGhvdXQgaW52YWxpZGF0aW5nIHlvdXIgaXRlcmF0b3JzLAo+IGJ1
dCBhbnkgbXV0YXRpb24gdGhhdCBhZmZlY3RzICdpbmRleGFibGUnIGJ1ZmZlciBjb250ZW50cyAo
Y29udGVudHMgdGhhdAo+IGNhbiBiZSByZWZlcnJlZCB0byBieSBjaGFyYWN0ZXIgb2Zmc2V0KQo+
IHdpbGwgaW52YWxpZGF0ZSBhbGwgb3V0c3RhbmRpbmcgaXRlcmF0b3JzCj4gICBndGsubWFpbigp
Cj4gc2hvd190ZXh0X3ZpZXcucHk6NTA6IEd0a1dhcm5pbmc6IF9ndGtfdGV4dF9idWZmZXJfZ2V0
X2xpbmVfbG9nX2F0dHJzOgo+IGFzc2VydGlvbiBgR1RLX0lTX1RFWFRfQlVGRkVSIChidWZmZXIp
JyBmYWlsZWQKPiAgIGd0ay5tYWluKCkKPiBzaG93X3RleHRfdmlldy5weTo1MDogR3RrV2Fybmlu
ZzogZ3RrX3RleHRfYnVmZmVyX3JlbW92ZV90YWc6IGFzc2VydGlvbgo+IGBndGtfdGV4dF9pdGVy
X2dldF9idWZmZXIgKGVuZCkgPT0gYnVmZmVyJyBmYWlsZWQKPiAgIGd0ay5tYWluKCkKPiBzaG93
X3RleHRfdmlldy5weTo1MDogR3RrV2FybmluZzogZ3RrX3RleHRfYnVmZmVyX3NldF9tYXJrOiBh
c3NlcnRpb24KPiBgZ3RrX3RleHRfaXRlcl9nZXRfYnVmZmVyIChpdGVyKSA9PSBidWZmZXInIGZh
aWxlZAo+ICAgZ3RrLm1haW4oKQo+IFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToK
PiAgIEZpbGUgInNob3dfdGV4dF92aWV3LnB5IiwgbGluZSA1MCwgaW4gPG1vZHVsZT4KPiAgICAg
Z3RrLm1haW4oKQo+IO+7vy0tLS0tLS0tLS0tLS0tLS0tLQo+Cj4gSXQgYXBwZWFycyB0aGF0IGd0
a3NwZWxsIGlzIHRyeWluZyB0byBhY2Nlc3MgYW4gaXRlcmF0b3IgdGhhdCB3YXMKPiBpbnZhbGlk
YXRlZCBieSBtYW5pcHVsYXRpbmcgdGhlIGJ1ZmZlciBpbiBhIGNhbGxiYWNrLiBJIHRyaWVkIHRv
IGNoYW5nZQo+IHRoZSBidWZmZXIgaW4gZGlmZmVyZW50IGNhbGxiYWNrcywgc3VjaCBhcyBpbnNl
cnQt77u/dGV4dCwgZGVsZXRlLXJhbmdlLAo+IGNoYW5nZWQsIGJ1dCBhbGwgb2YgdGhlbSBicmVh
ayBldmVuIHdoZW4gdXNpbmcgY29ubmVjdF9hZnRlcigpLgo+Cj4gSXMgdGhpcyBpbnRlbmRlZCBi
ZWhhdmlvciwgYW5kIGlmIHNvLCBob3cgZG8geW91IG1hbmlwdWxhdGUgdGhlIGJ1ZmZlcgo+IHdo
ZW4gc3BlbGwtY2hlY2tpbmcgaXMgZW5hYmxlZD8KPgo+IC1TYW11ZWwKPgo+Cj4gX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBweWd0ayBtYWlsaW5nIGxp
c3QgICBweWd0a0BkYWEuY29tLmF1Cj4gaHR0cDovL3d3dy5kYWEuY29tLmF1L21haWxtYW4vbGlz
dGluZm8vcHlndGsKPiBSZWFkIHRoZSBQeUdUSyBGQVE6IGh0dHA6Ly93d3cuYXN5bmMuY29tLmJy
L2ZhcS9weWd0ay8KPiAgIAotLS0tLS0tLS0tLS0tLSBuZXh0IHBhcnQgLS0tLS0tLS0tLS0tLS0K
QSBub24tdGV4dCBhdHRhY2htZW50IHdhcyBzY3J1YmJlZC4uLgpOYW1lOiB3YWx0ZXIudmNmClR5
cGU6IHRleHQveC12Y2FyZApTaXplOiAyNzUgYnl0ZXMKRGVzYzogbm90IGF2YWlsYWJsZQpVcmwg
OiBodHRwOi8vd3d3LmRhYS5jb20uYXUvcGlwZXJtYWlsL3B5Z3RrL2F0dGFjaG1lbnRzLzIwMDgw
NzA3L2RiZjgwNTM3L3dhbHRlci52Y2YK


More information about the pygtk mailing list