From 15a32435561a668e69764d12edfa2b5c564c6505 Mon Sep 17 00:00:00 2001 From: Frederik Gladhorn Date: Thu, 13 Dec 2012 18:12:40 +0100 Subject: Accessibility Linux: Make dbus registration async MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I74043be04f4ee17089353304fdc007a7f22cdea0 Reviewed-by: Friedemann Kleint Reviewed-by: Jan Arve Sæther --- .../linuxaccessibility/atspiadaptor.cpp | 40 +++++++--------------- 1 file changed, 12 insertions(+), 28 deletions(-) (limited to 'src/platformsupport/linuxaccessibility/atspiadaptor.cpp') 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) -- cgit v1.2.3