diff --git a/src/gui/accessible/linux/atspiadaptor.cpp b/src/gui/accessible/linux/atspiadaptor.cpp index 51df6727264..4f863c34cd9 100644 --- a/src/gui/accessible/linux/atspiadaptor.cpp +++ b/src/gui/accessible/linux/atspiadaptor.cpp @@ -1546,7 +1546,7 @@ void AtSpiAdaptor::registerApplication() reply.waitForFinished(); // TODO: make this async if (reply.isValid ()) { const QSpiObjectReference &socket = reply.value(); - accessibilityRegistry = QSpiObjectReference(socket); + m_accessibilityRegistry = QSpiObjectReference(socket); } else { qCWarning(lcAccessibilityAtspi) << "Error in contacting registry:" << reply.error().name() @@ -1582,6 +1582,12 @@ bool AtSpiAdaptor::accessibleInterface(QAccessibleInterface *interface, const QS QString path; QAccessibleInterface * parent = interface->parent(); if (!parent) { + if (interface->object() == qApp) { + sendReply(connection, message, + QVariant::fromValue(QDBusVariant(QVariant::fromValue(m_accessibilityRegistry)))); + return true; + } + path = ATSPI_DBUS_PATH_NULL ""_L1; } else if (parent->role() == QAccessible::Application) { path = ATSPI_DBUS_PATH_ROOT ""_L1; diff --git a/src/gui/accessible/linux/atspiadaptor_p.h b/src/gui/accessible/linux/atspiadaptor_p.h index 4e5beebf22a..a620672f72a 100644 --- a/src/gui/accessible/linux/atspiadaptor_p.h +++ b/src/gui/accessible/linux/atspiadaptor_p.h @@ -113,7 +113,7 @@ private: static bool inheritsQAction(QObject *object); // private vars - QSpiObjectReference accessibilityRegistry; + QSpiObjectReference m_accessibilityRegistry; QAtSpiDBusConnection *m_dbus; QSpiApplicationAdaptor *m_applicationAdaptor;