Hello, I'm planing to add all the bugs found using LDTPv2 on this, if you feel that it has to be submitted in individual bugs, please feel free to raise the concern. >>> desktop = pyatspi.Registry.getDesktop(0) /usr/lib/python2.6/site-packages/dbus/connection.py:242: DeprecationWarning: object.__init__() takes no parameters super(Connection, self).__init__(*args, **kwargs) ERROR:dbus.connection:Exception in handler for D-Bus signal: Traceback (most recent call last): File "/usr/lib/python2.6/site-packages/dbus/connection.py", line 214, in maybe_handle_message self._handler(*args, **kwargs) File "/usr/lib/python2.6/site-packages/pyatspi_dbus/cache.py", line 205, in _property_change_handler app._property_change_handler(minor, detail1, detail2, any_data, app, interface, sender, member, path) File "/usr/lib/python2.6/site-packages/pyatspi_dbus/cache.py", line 281, in _property_change_handler if (sender, path) in self._cache.soft: AttributeError: 'AccessibleCache' object has no attribute 'soft' ERROR:dbus.connection:Exception in handler for D-Bus signal: Traceback (most recent call last): File "/usr/lib/python2.6/site-packages/dbus/connection.py", line 214, in maybe_handle_message self._handler(*args, **kwargs) File "/usr/lib/python2.6/site-packages/pyatspi_dbus/cache.py", line 205, in _property_change_handler app._property_change_handler(minor, detail1, detail2, any_data, app, interface, sender, member, path) File "/usr/lib/python2.6/site-packages/pyatspi_dbus/cache.py", line 281, in _property_change_handler if (sender, path) in self._cache.soft: AttributeError: 'AccessibleCache' object has no attribute 'soft' ERROR:dbus.connection:Exception in handler for D-Bus signal: Traceback (most recent call last): File "/usr/lib/python2.6/site-packages/dbus/connection.py", line 214, in maybe_handle_message self._handler(*args, **kwargs) File "/usr/lib/python2.6/site-packages/pyatspi_dbus/cache.py", line 205, in _property_change_handler app._property_change_handler(minor, detail1, detail2, any_data, app, interface, sender, member, path) File "/usr/lib/python2.6/site-packages/pyatspi_dbus/cache.py", line 281, in _property_change_handler if (sender, path) in self._cache.soft: AttributeError: 'AccessibleCache' object has no attribute 'soft' ERROR:dbus.connection:Exception in handler for D-Bus signal: Traceback (most recent call last): File "/usr/lib/python2.6/site-packages/dbus/connection.py", line 214, in maybe_handle_message self._handler(*args, **kwargs) File "/usr/lib/python2.6/site-packages/pyatspi_dbus/cache.py", line 205, in _property_change_handler app._property_change_handler(minor, detail1, detail2, any_data, app, interface, sender, member, path) File "/usr/lib/python2.6/site-packages/pyatspi_dbus/cache.py", line 281, in _property_change_handler if (sender, path) in self._cache.soft: AttributeError: 'AccessibleCache' object has no attribute 'soft' Thanks
>>> appnames = [] >>> for app in desktop: ... if not app: continue ... appnames.append(app.name) ... >>> appnames [dbus.String(u'vino-server', variant_level=1), dbus.String(u'evolution-alarm-notify', variant_level=1), dbus.String(u'gnome-power-manager', variant_level=1), dbus.String(u'<unknown>', variant_level=1), dbus.String(u'gnome-screensaver', variant_level=1), dbus.String(u'gpk-update-icon', variant_level=1), dbus.String(u'Do', variant_level=1), dbus.String(u'applet.py', variant_level=1), dbus.String(u'gnome-settings-daemon', variant_level=1), dbus.String(u'gnome-terminal', variant_level=1), dbus.String(u'xchat', variant_level=1), dbus.String(u'gnomesu', variant_level=1), dbus.String(u'y2controlcenter-gnome', variant_level=1)] with at-spi1, we get the appnames, just as list of string, in v2 its dbus.String !
Just copy this code block in a file, say test.py and run 'python test.py' couple of times: from ldtp import * launchapp('gedit') waittillguiexist('*-gedit') settextvalue('*-gedit', 'txt1', 'Hello World') print gettextvalue('*-gedit', 'txt1') selectmenuitem('*-gedit', 'mnuFile;mnuQuit') waittillguiexist('Question') click('Question', 'Close without Saving') Result: Traceback (most recent call last): File "/usr/lib/python2.6/site-packages/pyatspi_dbus/busutils/bus.py", line 87, in _event_dispatch func (*args, **kwargs) File "/usr/lib/python2.6/site-packages/pyatspi_dbus/appevent.py", line 231, in handler_wrapper return event_handler(event) File "/usr/local/lib/python2.6/site-packages/ldtpd/core.py", line 86, in _event_cb event.source) File "/usr/local/lib/python2.6/site-packages/ldtpd/utils.py", line 345, in _ldtpize_accessible re.sub(strip, '', (label_acc or acc).name), \ File "/usr/lib/python2.6/site-packages/pyatspi_dbus/accessible.py", line 501, in _get_name return self._pgetter(ATSPI_ACCESSIBLE, "Name") File "/usr/lib/python2.6/site-packages/pyatspi_dbus/busutils/proxy.py", line 125, in dbus_method_func raise data.error dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Message did not receive a reply (timeout by message bus) Traceback (most recent call last): File "/usr/lib/python2.6/site-packages/pyatspi_dbus/busutils/bus.py", line 87, in _event_dispatch func (*args, **kwargs) File "/usr/lib/python2.6/site-packages/pyatspi_dbus/appevent.py", line 231, in handler_wrapper return event_handler(event) File "/usr/local/lib/python2.6/site-packages/ldtpd/utils.py", line 244, in _on_window_event event.source) File "/usr/local/lib/python2.6/site-packages/ldtpd/utils.py", line 314, in _ldtpize_accessible rel_set = acc.getRelationSet() File "/usr/lib/python2.6/site-packages/pyatspi_dbus/accessible.py", line 414, in getRelationSet relation_set = func() File "/usr/lib/python2.6/site-packages/pyatspi_dbus/accessible.py", line 199, in dbus_method_func raise LookupError(e) LookupError: org.freedesktop.DBus.Error.ServiceUnknown: The name :1.10 was not provided by any .service files GTK Accessibility Module initialized Traceback (most recent call last): File "/usr/lib64/python2.6/site-packages/twisted/web/server.py", line 150, in process self.render(resrc) File "/usr/lib64/python2.6/site-packages/twisted/web/server.py", line 157, in render body = resrc.render(self) File "/usr/lib64/python2.6/site-packages/twisted/web/resource.py", line 190, in render return m(request) File "/usr/local/lib/python2.6/site-packages/ldtpd/xmlrpc_daemon.py", line 101, in render_POST xmlrpc.defer.maybeDeferred(function, *args, **kwargs).\ --- <exception caught here> --- File "/usr/lib64/python2.6/site-packages/twisted/internet/defer.py", line 106, in maybeDeferred result = f(*args, **kw) File "/usr/local/lib/python2.6/site-packages/ldtpd/text.py", line 126, in settextvalue obj = self._get_object(window_name, object_name) File "/usr/local/lib/python2.6/site-packages/ldtpd/utils.py", line 711, in _get_object self._get_window_handle(window_name) File "/usr/local/lib/python2.6/site-packages/ldtpd/utils.py", line 664, in _get_window_handle for gui in self._list_guis(): File "/usr/local/lib/python2.6/site-packages/ldtpd/utils.py", line 294, in _list_guis for gui in app[0]: File "/usr/lib/python2.6/site-packages/pyatspi_dbus/accessible.py", line 265, in __getitem__ n = self.childCount File "/usr/lib/python2.6/site-packages/pyatspi_dbus/accessible.py", line 475, in _get_childCount return Int32(self._pgetter(ATSPI_ACCESSIBLE, "ChildCount")) File "/usr/lib/python2.6/site-packages/pyatspi_dbus/busutils/proxy.py", line 125, in dbus_method_func raise data.error dbus.exceptions.DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name :1.10 was not provided by any .service files
After comment #2, the only option left to me is, kill the ldtp instance and then re-run the test !
(In reply to comment #1) > > with at-spi1, we get the appnames, just as list of string, in v2 its > dbus.String ! Output with v1 >>> getapplist() ['gnome-session', 'metacity', 'gnome-panel', 'nautilus', 'gnome-screensaver', 'gpk-update-icon', 'gnome-settings-daemon', 'bluetooth-applet', 'nm-applet', 'tracker-status-icon', 'Do', 'applet.py', 'gnome-volume-control-applet', 'gnome-power-manager', 'vino-server', 'evolution-alarm-notify', 'polkit-gnome-authentication-agent-1', 'gnome-terminal', 'gnome-terminal']
Another issue: I can kill the instance of ldtp, by pressing control+c, if I start it manually as ldtp from terminal with at-spi1, but with at-spi2, it just hangs, need to debug further ! All of the above and following testing are based on openSUSE 11.3 (64-bit) and at-spi2 built by Stephen for my testing and its available here - http://download.opensuse.org/repositories/Mono:/UIA:/ldtp2/openSUSE_11.3/
from at-spi1 openSUSE11.3 64-bit >>> getwindowlist() ['frmBottomExpandedEdgePanel', 'frmTopExpandedEdgePanel', 'frmx-nautilus-desktop', 'frmadministrator@w1-hutlab080:~', 'frmpastebin.engprivatepastebin-collaborativedebuggingtool-MozillaFirefox'] from at-spi2 openSUSE11.3 64-bit >>> getwindowlist() ['frmadministrator@w1-hutlab081:~', u'frmBug31012\u2013CombinedbugreportfromLDTPv2-MozillaFirefox', 'frmXChat:nags@GimpNet/#atspidbus(+tn)'] Note the difference !?! gnome-panel, nautilus are not accessible, atleast not visible just on the start of the system. I even tried launching nautilus, but it doesn't show up in getwindowlist() output !
The following two steps, just hanged the execution >>> launchapp('nautilus') 14000 >>> getwindowlist() ^CTraceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python2.6/site-packages/ldtp/client.py", line 50, in __call__ return self.__send(self.__name, args) File "/usr/lib64/python2.6/xmlrpclib.py", line 1489, in __request verbose=self.__verbose File "/usr/local/lib/python2.6/site-packages/ldtp/client.py", line 73, in request self, host, handler, request_body, verbose=0) File "/usr/lib64/python2.6/xmlrpclib.py", line 1237, in request errcode, errmsg, headers = h.getreply() File "/usr/lib64/python2.6/httplib.py", line 1060, in getreply response = self._conn.getresponse() File "/usr/lib64/python2.6/httplib.py", line 986, in getresponse response.begin() File "/usr/lib64/python2.6/httplib.py", line 391, in begin version, status, reason = self._read_status() File "/usr/lib64/python2.6/httplib.py", line 349, in _read_status line = self.fp.readline() File "/usr/lib64/python2.6/socket.py", line 397, in readline data = recv(1) KeyboardInterrupt Need to kill ldtp process
(In reply to comment #2) Things seem to work fine, if I just run the script directly, without starting the ldtp instance manually ! There are 2 ways to run the test: * start 'ldtp' binary manually for debugging purpose from one terminal with export LDTP_DEBUG=2 and then from another terminal, run 'python test.py' * Just run 'python test.py', as this internally start ldtp instance, by forking 'python -c "import ldtpd;ldtpd.main()"'
(In reply to comment #0) I'm getting the same issue with accerciser 1.11.1 from Stephan repository administrator@w1-hutlab081:~> accerciser ** (accerciser:16101): WARNING **: Trying to register gtype 'WnckWindowState' as enum when in fact it is of type 'GFlags' ** (accerciser:16101): WARNING **: Trying to register gtype 'WnckWindowActions' as enum when in fact it is of type 'GFlags' ** (accerciser:16101): WARNING **: Trying to register gtype 'WnckWindowMoveResizeMask' as enum when in fact it is of type 'GFlags' /usr/lib/python2.6/site-packages/dbus/connection.py:242: DeprecationWarning: object.__init__() takes no parameters super(Connection, self).__init__(*args, **kwargs) ERROR:dbus.connection:Exception in handler for D-Bus signal: Traceback (most recent call last): File "/usr/lib/python2.6/site-packages/dbus/connection.py", line 214, in maybe_handle_message self._handler(*args, **kwargs) File "/usr/lib/python2.6/site-packages/pyatspi_dbus/cache.py", line 205, in _property_change_handler app._property_change_handler(minor, detail1, detail2, any_data, app, interface, sender, member, path) File "/usr/lib/python2.6/site-packages/pyatspi_dbus/cache.py", line 281, in _property_change_handler if (sender, path) in self._cache.soft: AttributeError: 'AccessibleCache' object has no attribute 'soft'
In accerciser, navigated to gnome-terminal, File menu and selected Open Tab, then clicked Perform action, in accerciser console, I got this error message: ERROR:dbus.connection:Exception in handler for D-Bus signal: Traceback (most recent call last): File "/usr/lib/python2.6/site-packages/dbus/connection.py", line 214, in maybe_handle_message self._handler(*args, **kwargs) File "/usr/lib/python2.6/site-packages/pyatspi_dbus/cache.py", line 196, in _children_changed_handler app._children_changed_handler(minor, detail1, detail2, any_data, app, interface, sender, member, path) File "/usr/lib/python2.6/site-packages/pyatspi_dbus/cache.py", line 303, in _children_changed_handler item.children.remove (any_data) ValueError: list.remove(x): x not in list
While testing, VMware workstation: The following exception happened, when the window was just closed and the call was on waittillguinotexist, I guess GTK Accessibility Module initialized Traceback (most recent call last): File "/usr/lib/python2.6/site-packages/pyatspi_dbus/busutils/bus.py", line 87, in _event_dispatch func (*args, **kwargs) File "/usr/lib/python2.6/site-packages/pyatspi_dbus/appevent.py", line 231, in handler_wrapper return event_handler(event) File "/usr/local/lib/python2.6/site-packages/ldtpd/utils.py", line 244, in _on_window_event event.source) File "/usr/local/lib/python2.6/site-packages/ldtpd/utils.py", line 314, in _ldtpize_accessible rel_set = acc.getRelationSet() File "/usr/lib/python2.6/site-packages/pyatspi_dbus/accessible.py", line 414, in getRelationSet relation_set = func() File "/usr/lib/python2.6/site-packages/pyatspi_dbus/accessible.py", line 199, in dbus_method_func raise LookupError(e) LookupError: org.freedesktop.DBus.Error.Failed: Method "GetRelationSet" with signature "" on interface "org.a11y.atspi.Accessible" could not be processed as object /org/a11y/atspi/accessible/428 does not exist
On doing ldtp gettabcount(), something equivalent with gedit gettabcount('*-gedit', 'ptl0') and following with VMware Workstation: Traceback (most recent call last): File "executetests.py", line 243, in runTests testcaseInst.startTest(testData) File "./../WSScripts/bats.py", line 41, in startTest vmInst.VerifyVMSummaryInfo ('Windows XP Professional', 'Windows XP Professional') File "./../WSActions/vm.py", line 1780, in VerifyVMSummaryInfo tabCount = gettabcount (mainWindow, 'ptl0') File "/usr/local/lib/python2.6/site-packages/ldtp/client.py", line 50, in __call__ return self.__send(self.__name, args) File "/usr/lib64/python2.6/xmlrpclib.py", line 1489, in __request verbose=self.__verbose File "/usr/local/lib/python2.6/site-packages/ldtp/client.py", line 98, in request raise e Fault: <Fault 8002: "Can't serialize output: cannot marshal <type 'dbus.Int32'> objects">
when I add waittillguinotexist('Question') at end of the script in comment #2, I notice this on the console: Traceback (most recent call last): File "/usr/lib/python2.6/site-packages/pyatspi_dbus/busutils/bus.py", line 87, in _event_dispatch func (*args, **kwargs) File "/usr/lib/python2.6/site-packages/pyatspi_dbus/appevent.py", line 231, in handler_wrapper return event_handler(event) File "/usr/local/lib/python2.6/site-packages/ldtpd/utils.py", line 244, in _on_window_event event.source) File "/usr/local/lib/python2.6/site-packages/ldtpd/utils.py", line 314, in _ldtpize_accessible rel_set = acc.getRelationSet() File "/usr/lib/python2.6/site-packages/pyatspi_dbus/accessible.py", line 414, in getRelationSet relation_set = func() File "/usr/lib/python2.6/site-packages/pyatspi_dbus/accessible.py", line 199, in dbus_method_func raise LookupError(e) LookupError: org.freedesktop.DBus.Error.ServiceUnknown: The name :1.77 was not provided by any .service files Traceback (most recent call last): File "/usr/local/lib/python2.6/site-packages/ldtpd/waiters.py", line 71, in _timeout_cb self.poll() File "/usr/local/lib/python2.6/site-packages/ldtpd/waiters.py", line 311, in poll gui, _window_name = self._get_window_handle(self._frame_name) File "/usr/local/lib/python2.6/site-packages/ldtpd/utils.py", line 664, in _get_window_handle for gui in self._list_guis(): File "/usr/local/lib/python2.6/site-packages/ldtpd/utils.py", line 294, in _list_guis for gui in app[0]: File "/usr/lib/python2.6/site-packages/pyatspi_dbus/accessible.py", line 265, in __getitem__ n = self.childCount File "/usr/lib/python2.6/site-packages/pyatspi_dbus/accessible.py", line 475, in _get_childCount return Int32(self._pgetter(ATSPI_ACCESSIBLE, "ChildCount")) File "/usr/lib/python2.6/site-packages/pyatspi_dbus/busutils/proxy.py", line 125, in dbus_method_func raise data.error dbus.exceptions.DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name :1.77 was not provided by any .service files
I'm unable to run multiple test, ldtp daemon just get hang, most of the time, the script calls waittillguinotexist Traceback (most recent call last): File "/usr/lib/python2.6/site-packages/pyatspi_dbus/busutils/bus.py", line 87, in _event_dispatch func (*args, **kwargs) File "/usr/lib/python2.6/site-packages/pyatspi_dbus/appevent.py", line 231, in handler_wrapper return event_handler(event) File "/usr/local/lib/python2.6/site-packages/ldtpd/utils.py", line 253, in _on_window_event event.source) File "/usr/local/lib/python2.6/site-packages/ldtpd/utils.py", line 323, in _ldtpize_accessible rel_set = acc.getRelationSet() File "/usr/lib/python2.6/site-packages/pyatspi_dbus/accessible.py", line 414, in getRelationSet relation_set = func() File "/usr/lib/python2.6/site-packages/pyatspi_dbus/accessible.py", line 199, in dbus_method_func raise LookupError(e) LookupError: org.freedesktop.DBus.Error.ServiceUnknown: The name :1.111 was not provided by any .service files Traceback (most recent call last): File "/usr/local/lib/python2.6/site-packages/ldtpd/waiters.py", line 71, in _timeout_cb self.poll() File "/usr/local/lib/python2.6/site-packages/ldtpd/waiters.py", line 295, in poll gui, _window_name = self._get_window_handle(self._frame_name) File "/usr/local/lib/python2.6/site-packages/ldtpd/utils.py", line 673, in _get_window_handle for gui in self._list_guis(): File "/usr/local/lib/python2.6/site-packages/ldtpd/utils.py", line 303, in _list_guis for gui in app[0]: File "/usr/lib/python2.6/site-packages/pyatspi_dbus/accessible.py", line 265, in __getitem__ n = self.childCount File "/usr/lib/python2.6/site-packages/pyatspi_dbus/accessible.py", line 475, in _get_childCount return Int32(self._pgetter(ATSPI_ACCESSIBLE, "ChildCount")) File "/usr/lib/python2.6/site-packages/pyatspi_dbus/busutils/proxy.py", line 125, in dbus_method_func raise data.error dbus.exceptions.DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name :1.111 was not provided by any .service files Its blocker from LDTP side.
With at-spi2-core 1.91.5-0ubu I get the following error message: ** (ldtp:1947): WARNING **: AT-SPI: Got error: Method "Get" with signature "ss" on interface "org.freedesktop.DBus.Properties" could not be processed as object /org/a11y/atspi/accessible/400 does not exist ** (ldtp:1947): WARNING **: AT-SPI: Got error: Method "Get" with signature "ss" on interface "org.freedesktop.DBus.Properties" could not be processed as object /org/a11y/atspi/accessible/400 does not exist ** (ldtp:1947): WARNING **: AT-SPI: Got error: Method "Get" with signature "ss" on interface "org.freedesktop.DBus.Properties" could not be processed as object /org/a11y/atspi/accessible/400 does not exist This in between Traceback (most recent call last): File "/usr/lib/pymodules/python2.7/ldtpd/core.py", line 111, in _event_cb self._window_uptime[win_name] = [event.source_name, AttributeError: 'Event' object has no attribute 'source_name' and this too in between ** (ldtp:1947): WARNING **: AT-SPI: Got error: Method "Get" with signature "ss" on interface "org.freedesktop.DBus.Properties" could not be processed as object /org/a11y/atspi/accessible/522 does not exist ** (ldtp:1947): WARNING **: AT-SPI: Got error: Method "Get" with signature "ss" on interface "org.freedesktop.DBus.Properties" could not be processed as object /org/a11y/atspi/accessible/522 does not exist
When I leave the ldtp process idle for sometime, I get the following message printed on console: ** (ldtp:1947): WARNING **: AT-SPI: Got error: Method "Get" with signature "ss" on interface "org.freedesktop.DBus.Properties" could not be processed as object /org/a11y/atspi/accessible/672 does not exist ** (ldtp:1947): WARNING **: AT-SPI: Got error: Method "Get" with signature "ss" on interface "org.freedesktop.DBus.Properties" could not be processed as object /org/a11y/atspi/accessible/672 does not exist ** (ldtp:1947): WARNING **: AT-SPI: Got error: Method "Get" with signature "ss" on interface "org.freedesktop.DBus.Properties" could not be processed as object /org/a11y/atspi/accessible/672 does not exist Not sure, whey the number keeps changing !
These warning messages can be avoided ? ** (ldtp:1947): WARNING **: AT-SPI: Got error: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken. This happened when I stopped the test in between. Not sure what these error messages are: ** (ldtp:2152): WARNING **: AT-SPI: Got error: The name :1.23 was not provided by any .service files ** (ldtp:2152): WARNING **: AT-SPI: Got error: The name :1.23 was not provided by any .service files
try: texti = obj.queryEditableText() except NotImplementedError: raise LdtpServerException('Text cannot be entered into object.') return int(texti.setTextContents(data.encode('utf-8'))) setTextContents fails, but insertText works !
Created attachment 42424 [details] at-spi1 combo box have text entry at-spi1 combo box have text entry
Created attachment 42425 [details] at-spi2 combo box doesn't have text entry at-spi2 combo box doesn't have text entry
The warnings should have been exceptions (at-spi2-atk thinks that the accessibles aren't there anymore), so they will show up as exceptions now. setTextContents is fixed. Querying for source_name should work now. As far as the combo box child issue goes, I haven't been able to reproduce it per se--the combo box seems to show up as having no children even with AT-SPI1. It is possible that I'm not following the right procedure to reproduce it. I don't see any code in gail to send a children-changed event when an entry is added or removed from a combo box, so it may be related to that. As a work-around for these kinds of issues, I've added a function called setcacheMask into AT-SPI/pyatspi. If you put something like this near the beginning of your script, then I wonder if the problem will disappear: desktop = pyatspi.Registry.getDesktop(0) desktop.setCacheMask(pyatspi.cache(pyatspi.cache.ALL ^ pyatspi.cache.CHILDREN)) If that gets things to work, then we really should fix GAIL; AT-SPI2 will cache an object's children, parent, name, description, and states by default to reduce the number of round-trip calls that it needs to make, since they are more expensive with DBus than with ORBit. As a result, it is sensitive to the lack of events in a way that AT-SPI-CORBA was not.
I'm not sure why you'd still get tracebacks calling setTextContents with pyatspi 1.91.6. However, I needed to refactor EditableText anyhow since the existing code did not allow Text functions (ie, getText() to be called from the interface returned by queryEditableText. So perhaps the change I just pushed will fix the issue.
What versions of gedit and gtk+ are you using that show the text child in AT-SPI1? I am not seeing a text child in natty with either AT-SPI1 or AT-SPI2, and the script at http://pastebin.com/8uz5W5fB fails to find the child with both AT-SPI1, and AT-SPI2. Looking at the sources of gedit 2.30.4 and gtk+ 2.24.1 (the versions I have on natty), I can't see how the text child could ever be exposed correctly. gailcombobox.c, used for a GtkComboBox, exposes 1 or 2 children: a MENU child and an additional TEXT child if the has-entry property is set. The combo boxes in the gedit find dialog are GeditHistoryEntry dialogues. GeditHistoryEntry as of v2.30.4 was based on GtkComboBoxEntry. GtkComboBoxEntry was based on GtkComboBox but did not set has_entry. Rather, it created its own entry child. GAIL does not appear to have a separate class for GtkComboBoxEntry, so it will use the logic for GtkComboBox, overriding the normal logic for determining the number of children and thus ignoring the entry that GtkComboBoxEntry adds. Note that GtkComboBoxEntry was deprecated in GTK+ 2.24 and is removed in GTK+ 3, so later versions of gedit do not use it. So, if you are seeing a text child with these versions of gedit and gtk+, then I am confused...
(In reply to comment #23) > What versions of gedit and gtk+ are you using that show the text child in > AT-SPI1? I am not seeing a text child in natty with either AT-SPI1 or AT-SPI2, > and the script at http://pastebin.com/8uz5W5fB fails to find the child with This script works fine with Ubuntu 10.10, gedit 2.30.3 / gtk 2.22.0 with at-spi1. Tomorrow at work, let me enable at-spi1 and verify this, I have verified the above test with at-spi2 in Ubuntu 11.04 (natty). > So, if you are seeing a text child with these versions of gedit and gtk+, then > I am confused... Interesting, will update the bug tomorrow. Thanks
Created attachment 45597 [details] On executing the test, 2 crash are reproducible in openSUSE11.4 with Mike Gorse repository
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.