diff options
Diffstat (limited to 'src/gui/accessible/linux/dbusconnection.cpp')
-rw-r--r-- | src/gui/accessible/linux/dbusconnection.cpp | 23 |
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); + } } } |