diff options
Diffstat (limited to 'src/plugins/accessible/quick/qaccessiblequickview.cpp')
-rw-r--r-- | src/plugins/accessible/quick/qaccessiblequickview.cpp | 11 |
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; } |