After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 423588 - Tree view cells dead on arrival
Tree view cells dead on arrival
Status: RESOLVED FIXED
Product: lsr
Classification: Deprecated
Component: core
unspecified
Other Linux
: Normal normal
: 0.5.2
Assigned To: Peter Parente
LSR maintainers
: 423586 (view as bug list)
Depends on:
Blocks: 423582 423743
 
 
Reported: 2007-03-28 04:32 UTC by Eitan Isaacson
Modified: 2007-05-11 19:55 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Eitan Isaacson 2007-03-28 04:32:18 UTC
For example, when browsing the home directory in Nautilus in icon view mode, the "Name" column is not read out except for the first time the treeview cursor gets focus.
Comment 1 Peter Parente 2007-03-28 11:23:46 UTC
This must be a recent regression. My demo at CSUN involved browsing the Nautilus tree view with LSR. Everything was read fine.
Comment 2 Peter Parente 2007-03-28 11:26:13 UTC
Verified this works properly with Nautlius with LSR trunk. What version at-spi, atk, and nautilus do you have on your system?
Comment 3 Peter Parente 2007-03-28 12:55:13 UTC
*** Bug 423586 has been marked as a duplicate of this bug. ***
Comment 4 Peter Parente 2007-03-28 12:56:58 UTC
Verified again on a second FC6 machine that nautilus trees are read properly.
Checked accerciser with LSR again. This is the exception I'm getting with LSR
on the tree view in accerciser.

Traceback (most recent call last):
  • File "/home/parente/lsr/src/pyLinAcc/Event.py", line 783 in _dispatchEvent
    client(event)
  • File "/home/parente/lsr/src/ViewManager.py", line 304 in onRawEvent
    eh.getAEEvents(event, self.event_manager.postEvents)
  • File "/home/parente/lsr/src/pyLinAcc/__init__.py", line 133 in _inner
    return func(self, *args, **kwargs)
  • File "/home/parente/lsr/src/Adapters/ATSPI/DefaultEventHandler.py", line 248 in getAEEvents
    events = method(event, focused=focused)
  • File "/home/parente/lsr/src/Adapters/ATSPI/TableAdapter.py", line 422 in _handleDescendantEvent
    return (self._getSelectorEvent(event.any_data, event.detail1, **kwargs),)
  • File "/home/parente/lsr/src/Adapters/ATSPI/TableAdapter.py", line 444 in _getSelectorEvent
    if accessible.childCount > 0:
AttributeError: 'CORBA.Object' object has no attribute 'childCount'

The TableAdapter seems to be getting an object that is not already an
accessible. Perhaps an explicit queryInterface will help? Still odd.
Comment 5 Peter Parente 2007-03-28 13:07:01 UTC
Adding the lines:

print accessible
print type(accessible)

just before the line throwing the exception above (line 444 in TableAdapter) yields the following output:

[print Level 15 2007-03-28 09:05:35,594] [DEAD]
[print Level 15 2007-03-28 09:05:35,594] <class 'Accessibility.Accessible'>

So apparently we're getting objects, but they're dead on arrival.
Comment 6 Peter Parente 2007-03-28 13:25:38 UTC
If we request the Accessible interface on the objects in any_data when they arrive in pyLinAcc, the problem is resolved. 
Comment 7 Peter Parente 2007-03-28 14:05:44 UTC
(In reply to comment #6)
> If we request the Accessible interface on the objects in any_data when they
> arrive in pyLinAcc, the problem is resolved. 

Not quite. The ref call is needed too.

I'm changing pyLinAcc so that a ref is attempted on all any_data values. If it's an accessible, we'll correctly increase the reference count. If it's not, we catch the attribute error. 

Comment 8 Peter Parente 2007-03-28 14:23:43 UTC
This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.