summaryrefslogtreecommitdiffstats
path: root/src/platformsupport/linuxaccessibility/atspiadaptor.cpp
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@digia.com>2012-12-13 18:12:40 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-01-22 14:11:14 +0100
commit15a32435561a668e69764d12edfa2b5c564c6505 (patch)
treef56d1306f6fbd95a63fc5d9396c0798d3029d2b5 /src/platformsupport/linuxaccessibility/atspiadaptor.cpp
parentffeaff9a267f31f202578457d0fae96634a4ec2b (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.cpp40
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)