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 486084 - [pyatspi] Orca doesn't work in Firefox 3
[pyatspi] Orca doesn't work in Firefox 3
Status: RESOLVED FIXED
Product: orca
Classification: Applications
Component: general
2.20.x
Other All
: Normal normal
: ---
Assigned To: Joanmarie Diggs (IRC: joanie)
Orca Maintainers
Depends on:
Blocks: 404403 448848
 
 
Reported: 2007-10-12 17:36 UTC by Joanmarie Diggs (IRC: joanie)
Modified: 2007-10-12 21:19 UTC
See Also:
GNOME target: ---
GNOME version: 2.19/2.20


Attachments
first attempt (838 bytes, patch)
2007-10-12 17:38 UTC, Joanmarie Diggs (IRC: joanie)
none Details | Review
made Eitan's changes (952 bytes, patch)
2007-10-12 18:46 UTC, Joanmarie Diggs (IRC: joanie)
committed Details | Review

Description Joanmarie Diggs (IRC: joanie) 2007-10-12 17:36:46 UTC
Step to reproduce:

1. Try to navigate with the arrows on a web page

Expected results: It would work ;-)

Actual results:  It doesn't.  Oh and it generates a traceback:

Traceback (most recent call last):
  • File "/usr/lib/python2.5/site-packages/orca/focus_tracking_presenter.py", line 596 in _processObjectEvent
    s.processObjectEvent(back_compat_event)
  • File "/usr/lib/python2.5/site-packages/orca/script.py", line 297 in processObjectEvent
    self.listeners[key](event)
  • File "/usr/lib/python2.5/site-packages/orca/Gecko.py", line 3847 in onStateChanged
    default.Script.onStateChanged(self, event)
  • File "/usr/lib/python2.5/site-packages/orca/default.py", line 2963 in onStateChanged
    self.onFocus(event)
  • File "/usr/lib/python2.5/site-packages/orca/Gecko.py", line 3673 in onFocus
    default.Script.onFocus(self, event)
  • File "/usr/lib/python2.5/site-packages/orca/default.py", line 2518 in onFocus
    orca.setLocusOfFocus(event, newFocus)
  • File "/usr/lib/python2.5/site-packages/orca/orca.py", line 203 in setLocusOfFocus
    orca_state.locusOfFocus)
  • File "/usr/lib/python2.5/site-packages/orca/focus_tracking_presenter.py", line 904 in locusOfFocusChanged
    newLocusOfFocus)
  • File "/usr/lib/python2.5/site-packages/orca/Gecko.py", line 3961 in locusOfFocusChanged
    self.setCaretPosition(newLocusOfFocus, caretOffset)
  • File "/usr/lib/python2.5/site-packages/orca/Gecko.py", line 6948 in setCaretPosition
    caretContext = self.getCaretContext()
  • File "/usr/lib/python2.5/site-packages/orca/Gecko.py", line 6525 in getCaretContext
    documentFrame = self.getDocumentFrame()
  • File "/usr/lib/python2.5/site-packages/orca/Gecko.py", line 4482 in getDocumentFrame
    child = self.app.child(i)
AttributeError: 'Application' object has no attribute 'child'

I took an initial stab at fixing it.  Patch to follow.
Comment 1 Joanmarie Diggs (IRC: joanie) 2007-10-12 17:38:50 UTC
Created attachment 97130 [details] [review]
first attempt

Reminder:  I'm still new to all of this and really new to pyatspi migration.  But this seems to solve the problem.  Will/Eitan, am I even in the ballpark?
Comment 2 Eitan Isaacson 2007-10-12 18:26:46 UTC
Yup, thats pretty much right.
The only think I would change is the role checking, instead of:
if child.getRoleName == "frame"

You should do:
if child.getRole() == pyatspi.ROLE_FRAME

I'll add that to the wiki.
Comment 3 Willie Walker 2007-10-12 18:40:09 UTC
Looks good to me, too.  :-)
Comment 4 Joanmarie Diggs (IRC: joanie) 2007-10-12 18:46:06 UTC
Created attachment 97134 [details] [review]
made Eitan's changes

This seems to work as well. :-)  Thanks Eitan!
Comment 5 Joanmarie Diggs (IRC: joanie) 2007-10-12 18:49:57 UTC
Patch committed to trunk.  Thanks guys.  Moving to pending.
Comment 6 Mike Pedersen 2007-10-12 20:08:43 UTC
This seems much better.  I'm using orca from trunk to type this comment.  
Comment 7 Joanmarie Diggs (IRC: joanie) 2007-10-12 21:19:43 UTC
Thanks Mike.  Closing as FIXED.