summaryrefslogtreecommitdiffstats
path: root/src/platformsupport/linuxaccessibility
diff options
context:
space:
mode:
authorJosé Millán Soto <jmillan@kde-espana.org>2017-09-15 20:15:00 +0200
committerFrederik Gladhorn <frederik.gladhorn@qt.io>2018-02-05 16:13:01 +0000
commita0717c60b30be5f7aa4c9dcde06a42f9ee532f0f (patch)
tree00acc1868e367d49762999bdeeeed92bd3368673 /src/platformsupport/linuxaccessibility
parentcf1b732e21b8768c0e423f900a3f11f923863edd (diff)
Handle coordinates related to component window
AtSpiAdaptor::componentInterface was not checking the coordinate type in GetAccessibleAtPoint. Now, if the coordinate type is ATSPI_COORD_TYPE_WINDOW the coordinates of the window will be added to the specified coordinates. Change-Id: Iba571109a8da300f4141d616a94ef4ac87918f98 Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Diffstat (limited to 'src/platformsupport/linuxaccessibility')
-rw-r--r--src/platformsupport/linuxaccessibility/atspiadaptor.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/platformsupport/linuxaccessibility/atspiadaptor.cpp b/src/platformsupport/linuxaccessibility/atspiadaptor.cpp
index a936ec7aad..580cf0e31d 100644
--- a/src/platformsupport/linuxaccessibility/atspiadaptor.cpp
+++ b/src/platformsupport/linuxaccessibility/atspiadaptor.cpp
@@ -1601,7 +1601,13 @@ bool AtSpiAdaptor::componentInterface(QAccessibleInterface *interface, const QSt
int x = message.arguments().at(0).toInt();
int y = message.arguments().at(1).toInt();
uint coordType = message.arguments().at(2).toUInt();
- Q_UNUSED (coordType) // FIXME
+ if (coordType == ATSPI_COORD_TYPE_WINDOW) {
+ QWindow * window = interface->window();
+ if (window) {
+ x += window->position().x();
+ y += window->position().y();
+ }
+ }
QAccessibleInterface * childInterface(interface->childAt(x, y));
QAccessibleInterface * iface = 0;