at-spi function Accessibility::Text::getBoundedRanges() fails. CORBA error?
- From: "Andrew Shu" <talklittle gmail com>
- To: gnome-accessibility-list <gnome-accessibility-list gnome org>
- Subject: at-spi function Accessibility::Text::getBoundedRanges() fails. CORBA error?
- Date: Sun, 23 Nov 2008 00:22:25 -0500
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
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]