diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/gui/accessible/linux/dbusconnection.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/gui/accessible/linux/dbusconnection.cpp b/src/gui/accessible/linux/dbusconnection.cpp index b4a8643474e..a970c2758bb 100644 --- a/src/gui/accessible/linux/dbusconnection.cpp +++ b/src/gui/accessible/linux/dbusconnection.cpp @@ -38,8 +38,15 @@ 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()) { - m_enabled = true; - connectA11yBus(QString::fromLocal8Bit(addressEnv)); + // Only connect on next loop run, connections to our enabled signal are + // only established after the ctor returns. + metaObject()->invokeMethod( + this, + [this, addressEnv] { + m_enabled = true; + connectA11yBus(QString::fromLocal8Bit(addressEnv)); + }, + Qt::QueuedConnection); return; } |
