GNOME Bugzilla – Bug 710730
Calling Atspi.Component.contains fails sometimes
Last modified: 2013-10-24 15:44:40 UTC
Calling pyatspi.Component.contains with any params crashes with:
+ Trace 232660
return Atspi.Component.contains(self.obj, x, y, coord_type)
return info.invoke(*args, **kwargs)
Reproduced in python-pyatspi_2.10.0+dfsg-0ubuntu1_all and pyatspi-2.8.0-2
Created attachment 257939 [details] Test to reproduce the bug At first I was not able to reproduce this bug. Finally I got that, so I will upload the steps. STEPS TO REPRODUCE IT 1. Compile test attached (is a little C program that adds some atspi listeners). 2. Open gedit 3. Run the listener in a different terminal 4. Click with the mouse on one of the Gedit menus NOTES If you do that, you get that message, but only the first time. I needed to do Click on one of the elements of gedit. I was not able to reproduce it just by Alt-tab on gedit window. As you can see, I was able to reproduce it using directly atspi library. So it doesn't seems a bug on pyatspi. So I will move the bug to a different component.
Moving to at-spi2-core. See comment 1.
Editing the summary. This is not a crash. My program (and a equivalent one written in python) doesn't crash, but just the method call fails (and not always).
I'm surprised no one noticed that it was broken until now. There were tro separate problems (at-spi2-atk named the method "contains", rather than "Contains", and at-spi2-core was sending an int16 for the coord type rather than a uint32). Should be fixed in master and gnome-3-10, anyhow, but you'll need to update at-spi2-core and at-spi2-atk. Thanks for the report.
This looks like a simple fix, can this be also backported to gnome-3-8?
I've just cherry-picked the commits and applied them to the gnome-3-8 branch, and they apply as-is, although I hadn't been planning on making any more 3.8 releases.