diff options
author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2012-12-13 18:12:40 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-01-22 14:11:14 +0100 |
commit | 15a32435561a668e69764d12edfa2b5c564c6505 (patch) | |
tree | f56d1306f6fbd95a63fc5d9396c0798d3029d2b5 /src/platformsupport/linuxaccessibility/atspiadaptor.cpp | |
parent | ffeaff9a267f31f202578457d0fae96634a4ec2b (diff) |
Accessibility Linux: Make dbus registration async
Change-Id: I74043be04f4ee17089353304fdc007a7f22cdea0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Diffstat (limited to 'src/platformsupport/linuxaccessibility/atspiadaptor.cpp')
-rw-r--r-- | src/platformsupport/linuxaccessibility/atspiadaptor.cpp | 40 |
1 files changed, 12 insertions, 28 deletions
diff --git a/src/platformsupport/linuxaccessibility/atspiadaptor.cpp b/src/platformsupport/linuxaccessibility/atspiadaptor.cpp index 895a5183a0..3d91f883f9 100644 --- a/src/platformsupport/linuxaccessibility/atspiadaptor.cpp +++ b/src/platformsupport/linuxaccessibility/atspiadaptor.cpp @@ -69,7 +69,7 @@ static bool isDebugging = false; #define qAtspiDebug if (!::isDebugging); else qDebug AtSpiAdaptor::AtSpiAdaptor(DBusConnection *connection, QObject *parent) - : QDBusVirtualObject(parent), m_dbus(connection), initialized(false) + : QDBusVirtualObject(parent), m_dbus(connection) , sendFocus(0) , sendObject(0) , sendObject_active_descendant_changed(0) @@ -132,6 +132,17 @@ AtSpiAdaptor::AtSpiAdaptor(DBusConnection *connection, QObject *parent) m_applicationAdaptor = new QSpiApplicationAdaptor(m_dbus->connection(), this); connect(m_applicationAdaptor, SIGNAL(windowActivated(QObject*,bool)), this, SLOT(windowActivated(QObject*,bool))); + + updateEventListeners(); + bool success = m_dbus->connection().connect(QLatin1String("org.a11y.atspi.Registry"), QLatin1String("/org/a11y/atspi/registry"), + QLatin1String("org.a11y.atspi.Registry"), QLatin1String("EventListenerRegistered"), this, + SLOT(eventListenerRegistered(QString,QString))); + success = success && m_dbus->connection().connect(QLatin1String("org.a11y.atspi.Registry"), QLatin1String("/org/a11y/atspi/registry"), + QLatin1String("org.a11y.atspi.Registry"), QLatin1String("EventListenerDeregistered"), this, + SLOT(eventListenerDeregistered(QString,QString))); +#ifdef QT_ATSPI_DEBUG + qAtspiDebug() << "Registered event listener change listener: " << success; +#endif } AtSpiAdaptor::~AtSpiAdaptor() @@ -605,30 +616,6 @@ QString AtSpiAdaptor::introspect(const QString &path) const return xml; } -/*! - When initialized we will send updates, not before this. - - This function also checks which event listeners are registered in the at-spi registry. - */ -void AtSpiAdaptor::setInitialized(bool init) -{ - initialized = init; - - if (!initialized) - return; - - updateEventListeners(); - bool success = m_dbus->connection().connect(QLatin1String("org.a11y.atspi.Registry"), QLatin1String("/org/a11y/atspi/registry"), - QLatin1String("org.a11y.atspi.Registry"), QLatin1String("EventListenerRegistered"), this, - SLOT(eventListenerRegistered(QString,QString))); - success = success && m_dbus->connection().connect(QLatin1String("org.a11y.atspi.Registry"), QLatin1String("/org/a11y/atspi/registry"), - QLatin1String("org.a11y.atspi.Registry"), QLatin1String("EventListenerDeregistered"), this, - SLOT(eventListenerDeregistered(QString,QString))); -#ifdef QT_ATSPI_DEBUG - qAtspiDebug() << "Registered event listener change listener: " << success; -#endif -} - void AtSpiAdaptor::setBitFlag(const QString &flag) { Q_ASSERT(flag.size()); @@ -918,9 +905,6 @@ void AtSpiAdaptor::notifyStateChange(const QAIPointer &interface, const QString */ void AtSpiAdaptor::notify(QAccessibleEvent *event) { - if (!initialized) - return; - switch (event->type()) { case QAccessible::ObjectCreated: if (sendObject || sendObject_children_changed) |