Correct QSpiAccessibleBridge::setRootObject definition
authorJosé Millán Soto <fid@gpul.org>
Tue, 11 Sep 2012 11:22:35 +0000 (13:22 +0200)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Sat, 22 Sep 2012 17:03:16 +0000 (19:03 +0200)
QSpiAccessibleBridge::setRootObject was defined to require a
QAccessibleInterface* as parameter instead of QObject*, as a result of
that, QSpiAccessibleBridge::setRootObject did not reimplement
QPlatformAccessibility::setRootObject and the adaptor was not initialized.

After this change, applications should work with screen readers.

Change-Id: Iee3d39f8e0959c1d75b1e682847d266a723c141b
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
src/platformsupport/linuxaccessibility/bridge.cpp
src/platformsupport/linuxaccessibility/bridge_p.h

index 1db5d26..208e618 100644 (file)
@@ -93,11 +93,9 @@ QDBusConnection QSpiAccessibleBridge::dBusConnection() const
     return dbusConnection->connection();
 }
 
-void QSpiAccessibleBridge::setRootObject(QAccessibleInterface *interface)
+void QSpiAccessibleBridge::setRootObject(QObject *obj)
 {
-    // the interface we get will be for the QApplication object.
-    // we already cache it in the constructor.
-    Q_ASSERT(interface->object() == qApp);
+    Q_UNUSED(obj);
     dbusAdaptor->setInitialized(true);
 }
 
index 4a77fa7..64eeeff 100644 (file)
@@ -62,7 +62,7 @@ public:
     QSpiAccessibleBridge();
 
     virtual ~QSpiAccessibleBridge();
-    virtual void setRootObject(QAccessibleInterface *obj);
+    virtual void setRootObject(QObject *obj);
 
     virtual void notifyAccessibilityUpdate(QAccessibleEvent *event);
     QDBusConnection dBusConnection() const;