Subject: Re: [orca-list] Possible bug with Orca and Pidgin
Date: Tue, 14 Sep 2010 16:34:20 -0400
Hi, Joanie and José.
> The Eclipse problem was due to a bug in Eclipse
associated with their
> implementation of AtkObject attributes. The Pidgin problem appears
to be
> due to our asking for AtkText attributes.
If it helps any (I doubt it, but perhaps
it will give you a chuckle <grin>) we did have the same bug for both
object attributes and text attributes.
Both types of attribute are stored on
a singly-linked list (GSList) under the covers... and we were using doubly-linked
list (Glist) API to add to the list.
Of course, this would blow up when Orca
decided to free the list...
Carolyn
From:
Joanmarie Diggs <joanmarie diggs gmail com>
To:
vilmar informal com br
Cc:
orca <Orca-list gnome org>
Date:
14/09/2010 04:11 PM
Subject:
Re: [orca-list] Possible bug with Orca
and Pidgin
Sent by:
orca-list-bounces gnome org
Hey José.
> Traceback (most recent call last):
> File
> "/data/software/orca/dev/lib/python2.6/site-packages/orca/focus_tracking_presenter.py",
> line 760, in _processObjectEvent
> s.processObjectEvent(event)
> File
> "/data/software/orca/dev/lib/python2.6/site-packages/orca/script.py",
> line 407, in processObjectEvent
> self.listeners[key](event)
> File
> "/data/software/orca/dev/lib/python2.6/site-packages/orca/scripts/apps/pidgin/script.py",
> line 185, in onTextInserted
> if self.chat.presentInsertedText(event):
> File
> "/data/software/orca/dev/lib/python2.6/site-packages/orca/chat.py",
line
> 707, in presentInsertedText
> elif self.isTypingStatusChangedEvent(event):
> File
> "/data/software/orca/dev/lib/python2.6/site-packages/orca/scripts/apps/pidgin/chat.py",
> line 58, in isTypingStatusChangedEvent
> self._script.utilities.textAttributes(event.source,
event.detail1)
> File
> "/data/software/orca/dev/lib/python2.6/site-packages/orca/script_utilities.py",
> line 2004, in textAttributes
> attrString, start, end = text.getAttributes(offset)
> COMM_FAILURE
>
> ^^^^^ PROCESS OBJECT EVENT object:text-changed:insert ^^^^^
>
> Joanie, could be the same problem that you find in eclipse?
The "same"? I doubt it. An awfully darned similar one? Yes.
So there are a couple of different Atk sources of attributes: Attributes
associated with the AtkObject itself, and attributes associated with the
accessible text interface (AtkText). The former might tell us what
toolkit a widget is associated with or what level a particular heading
is. The latter tells us things about the appearance/formatting of the
text at a given offset and what the span of that formatting is.
The Eclipse problem was due to a bug in Eclipse associated with their
implementation of AtkObject attributes. The Pidgin problem appears to be
due to our asking for AtkText attributes.
I suspect due to some bogusity somewhere, there is an assert asserting
itself. And I'd guess that if you were to launch Pidgin from a terminal
window and reproduce the bug again, the failed assertion would be dumped
out where you could see exactly what triggered the crash.