summaryrefslogtreecommitdiffstats
path: root/src/gui/accessible/linux/dbusconnection.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/accessible/linux/dbusconnection.cpp')
-rw-r--r--src/gui/accessible/linux/dbusconnection.cpp23
1 files changed, 9 insertions, 14 deletions
diff --git a/src/gui/accessible/linux/dbusconnection.cpp b/src/gui/accessible/linux/dbusconnection.cpp
index 9105768fcf..10bd10927e 100644
--- a/src/gui/accessible/linux/dbusconnection.cpp
+++ b/src/gui/accessible/linux/dbusconnection.cpp
@@ -38,15 +38,8 @@ DBusConnection::DBusConnection(QObject *parent)
// If the bus is explicitly set via env var it overrides everything else.
QByteArray addressEnv = qgetenv("AT_SPI_BUS_ADDRESS");
if (!addressEnv.isEmpty()) {
- // Only connect on next loop run, connections to our enabled signal are
- // only established after the ctor returns.
- QMetaObject::invokeMethod(
- this,
- [this, addressEnv] {
- m_enabled = true;
- connectA11yBus(QString::fromLocal8Bit(addressEnv));
- },
- Qt::QueuedConnection);
+ m_enabled = true;
+ connectA11yBus(QString::fromLocal8Bit(addressEnv));
return;
}
@@ -63,11 +56,13 @@ DBusConnection::DBusConnection(QObject *parent)
if (c.interface()->isServiceRegistered(A11Y_SERVICE))
serviceRegistered();
- // In addition try if there is an xatom exposing the bus address, this allows applications run as root to work
- QString address = getAddressFromXCB();
- if (!address.isEmpty()) {
- m_enabled = true;
- connectA11yBus(address);
+ if (QGuiApplication::platformName().startsWith("xcb"_L1)) {
+ // In addition try if there is an xatom exposing the bus address, this allows applications run as root to work
+ QString address = getAddressFromXCB();
+ if (!address.isEmpty()) {
+ m_enabled = true;
+ connectA11yBus(address);
+ }
}
}