aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/accessible/quick/qaccessiblequickview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/accessible/quick/qaccessiblequickview.cpp')
-rw-r--r--src/plugins/accessible/quick/qaccessiblequickview.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/plugins/accessible/quick/qaccessiblequickview.cpp b/src/plugins/accessible/quick/qaccessiblequickview.cpp
index 1823dfea42..2df1f243b8 100644
--- a/src/plugins/accessible/quick/qaccessiblequickview.cpp
+++ b/src/plugins/accessible/quick/qaccessiblequickview.cpp
@@ -41,6 +41,8 @@
#include "qaccessiblequickview.h"
+#include <QtGui/qguiapplication.h>
+
#include <QtQuick/qquickitem.h>
#include <QtQuick/private/qquickitem_p.h>
@@ -83,7 +85,12 @@ QAccessible::Role QAccessibleQuickView::role() const
QAccessible::State QAccessibleQuickView::state() const
{
- return QAccessible::State(); // FIXME
+ QAccessible::State st;
+ if (view() == QGuiApplication::focusWindow())
+ st.active = true;
+ if (!view()->isVisible())
+ st.invisible = true;
+ return st;
}
QRect QAccessibleQuickView::rect() const
@@ -120,7 +127,7 @@ static QQuickItem *childAt_helper(QQuickItem *item, int x, int y)
}
QScopedPointer<QAccessibleInterface> accessibleInterface(QAccessible::queryAccessibleInterface(item));
- if (accessibleInterface->childCount() == 0) {
+ if (accessibleInterface && accessibleInterface->childCount() == 0) {
return (itemScreenRect(item).contains(x, y)) ? item : 0;
}