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 546277 - [pending] Traceback when accessing "User Privileges" tab of "Account Properties" dialog of "User Settings"
[pending] Traceback when accessing "User Privileges" tab of "Account Properti...
Status: RESOLVED FIXED
Product: orca
Classification: Applications
Component: general
unspecified
Other All
: Normal critical
: 2.24.0
Assigned To: Willie Walker
Orca Maintainers
Depends on:
Blocks:
 
 
Reported: 2008-08-04 17:20 UTC by Willie Walker
Modified: 2009-03-10 00:05 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch to try/except check for table (1.32 KB, patch)
2008-08-04 20:20 UTC, Willie Walker
committed Details | Review

Description Willie Walker 2008-08-04 17:20:20 UTC
When attempting to navigate the list of checkboxes in the "User Privileges" tab of the "Account Properties" dialog of the "User Settings" application (users-admin), we see these Tracebacks and nothing is presented:

Traceback (most recent call last):
  • File "/usr/lib/python2.5/site-packages/orca/focus_tracking_presenter.py", line 668 in _processObjectEvent
    s.processObjectEvent(event)
  • File "/usr/lib/python2.5/site-packages/orca/script.py", line 342 in processObjectEvent
    self.listeners[key](event)
  • File "/usr/lib/python2.5/site-packages/orca/default.py", line 3774 in onActiveDescendantChanged
    orca.setLocusOfFocus(event, child)
  • File "/usr/lib/python2.5/site-packages/orca/orca.py", line 239 in setLocusOfFocus
    orca_state.locusOfFocus)
  • File "/usr/lib/python2.5/site-packages/orca/focus_tracking_presenter.py", line 992 in locusOfFocusChanged
    newLocusOfFocus)
  • File "/usr/lib/python2.5/site-packages/orca/default.py", line 2776 in locusOfFocusChanged
    self.updateBraille(newLocusOfFocus)
  • File "/usr/lib/python2.5/site-packages/orca/default.py", line 3177 in updateBraille
    result = self.brailleGenerator.getBrailleRegions(obj)
  • File "/usr/lib/python2.5/site-packages/orca/braillegenerator.py", line 1672 in getBrailleRegions
    result = generator(obj)
  • File "/usr/lib/python2.5/site-packages/orca/braillegenerator.py", line 1469 in _getBrailleRegionsForTableCellRow
    self._getBrailleRegionsForTableCell(cell)
  • File "/usr/lib/python2.5/site-packages/orca/braillegenerator.py", line 1309 in _getBrailleRegionsForTableCell
    self._getBrailleRegionsForTableCell(obj[i])
  • File "/usr/lib/python2.5/site-packages/orca/braillegenerator.py", line 1350 in _getBrailleRegionsForTableCell
    table = obj.parent.queryTable()
  • File "/usr/lib/python2.5/site-packages/pyatspi/accessible.py", line 212 in _inner
    raise NotImplementedError NotImplementedError

The problem seems to be an assumption that we're in a table cell in braillegenerator.py:_getBrailleRegionsForTableCell.  Instead, we're in a table cell that is in a table cell that is in a table.
Comment 1 Willie Walker 2008-08-04 20:20:19 UTC
Created attachment 115852 [details] [review]
Patch to try/except check for table

This patch solves the problem and gets the table speaking again.  However, it doesn't catch the hypothetical case where we have a cell nested within a hierarchy of cells within a table and we want to read the header.  I'm thinking it's OK to not try to handle that case until we run into a real use case.

Please test!
Comment 2 Mesar Hameed 2008-08-04 21:12:20 UTC
Hi Will,

Indeed it works well with the patch, thank you, one comment though, (probably not our fault), but tabbing to get from checkbox to another does not work. Probably because we are within a table? The arrow keys allows us to move between the checkboxes.
Comment 3 Mesar Hameed 2008-08-04 21:18:03 UTC
s+arrow keys+up/down+g
:)
Comment 4 Willie Walker 2008-08-04 21:21:12 UTC
> Indeed it works well with the patch, thank you, 

Thank *you*!  Committed based upon your testing.  You're awesome.

> not our fault), but tabbing to get from checkbox to another does not work.
> Probably because we are within a table? The arrow keys allows us to move
> between the checkboxes.

Yeah - this is needed whether you're using Orca or not.  It's most likely because it is in a table.  :-(