Re: at-spi function Accessibility::Text::getBoundedRanges() fails. CORBA error?
- From: Li Yuan <Li Yuan Sun COM>
- To: Andrew Shu <talklittle gmail com>
- Cc: gnome-accessibility-list <gnome-accessibility-list gnome org>
- Subject: Re: at-spi function Accessibility::Text::getBoundedRanges() fails. CORBA error?
- Date: Mon, 24 Nov 2008 15:09:52 +0800
Hi Andrew,
Do this happens on all applications (e.g. gedit, Firefox)? Can I have
applications trace?
Thanks,
Li
Andrew Shu wrote:
I have been having a problem using the Accessibility::Text::getBoundedRanges()
function via both cspi and pyatspi.
This is at-spi version 1.22.1 on GNOME 2.22.3 (ubuntu hardy)
In order to test using pyatspi, I modified accerciser with some code (added
to node.py):
try:
i = acc.queryText()
except NotImplementedError:
pass
else:
if isinstance(i, pyatspi.Accessibility.Text):
print "yes! it's Text!"
# CORBA COMM_FAILURE
#br = i.getBoundedRanges(self.extents.x,
# self.extents.y,
# self.extents.width,
# self.extents.height,
# 0,
# pyatspi.Accessibility.TEXT_CLIP_NONE,
# pyatspi.Accessibility.TEXT_CLIP_NONE)
#print "got Bounded Ranges!"
#for r in br:
# print "text in a Range: %s" % r.content
# works
x, y, width, height = i.getRangeExtents(0, i.characterCount, 0)
print "x %d y %d width %d height %d" % (x, y, width, height)
The commented portion of code marked # CORBA COMM_FAILURE will always throw
an exception and print the error "CORBA.COMM_FAILURE".
In addition it immediately crashes the application to which the text node
belongs.
I've tried substituting hard-coded values for x,y,width,height as well as
changing TEXT_CLIP_NONE to TEXT_CLIP_BOTH but encounter the same error.
Note that other functions like getRangeExtents() work fine.
Similarly in C, using cspi, I have tried to use getBoundedRanges:
AccessibleTextRange **atr;
printf("trying to get AccessibleTextRange hardcoded x y w
h\n");
fflush(stdout);
atr = AccessibleText_getBoundedRanges(at, 0, 0,
100, 100,
1,
SPI_TEXT_CLIP_BOTH,
SPI_TEXT_CLIP_BOTH);
printf("stored AccessibleTextRange\n");
fflush(stdout);
but it immediately crashes before the second printf. It is evidently a
problem with getBoundedRanges.
Could someone tell me, is this a known problem with certain (all?) versions
at-spi, or am I forgetting to do something before I call this function?
I noticed that the at-spi source package has an example
(screen-review-test.c) that seems to have an alternative implementation of
getBoundedRanges()
but that is slower. I am trying to figure out how to use it now, but is it
worth it?
I don't want to use some alternative implementations that are impractically
slow.
Thanks for your help,
Andrew Shu
------------------------------------------------------------------------
_______________________________________________
gnome-accessibility-list mailing list
gnome-accessibility-list gnome org
http://mail.gnome.org/mailman/listinfo/gnome-accessibility-list
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]