From 12a0eee1f8e304669fef3836ac2014b287f9babe Mon Sep 17 00:00:00 2001 From: Ievgenii Meshcheriakov Date: Tue, 15 Aug 2023 14:58:49 +0200 Subject: QDBusConnectionManager: Move all locking inside the class Make `mutex` member private and make all former users call new public member functions that perform locking. Make old non-locking member functions private. Change-Id: I29092d1bd785aa6b830183c1c1fe125b16e0d633 Reviewed-by: Thiago Macieira --- src/dbus/qdbusintegrator.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/dbus/qdbusintegrator.cpp') diff --git a/src/dbus/qdbusintegrator.cpp b/src/dbus/qdbusintegrator.cpp index a25ade92ce..1bc827daf5 100644 --- a/src/dbus/qdbusintegrator.cpp +++ b/src/dbus/qdbusintegrator.cpp @@ -291,7 +291,8 @@ static void qDBusNewConnection(DBusServer *server, DBusConnection *connection, v Q_ASSERT(connection); Q_ASSERT(data); - if (!QDBusConnectionManager::instance()) + auto *manager = QDBusConnectionManager::instance(); + if (!manager) return; // keep the connection alive @@ -303,8 +304,10 @@ static void qDBusNewConnection(DBusServer *server, DBusConnection *connection, v q_dbus_connection_set_allow_anonymous(connection, true); QDBusConnectionPrivate *newConnection = new QDBusConnectionPrivate(serverConnection->parent()); - const auto locker = qt_scoped_lock(QDBusConnectionManager::instance()->mutex); - QDBusConnectionManager::instance()->setConnection("QDBusServer-"_L1 + QString::number(reinterpret_cast(newConnection), 16), newConnection); + + manager->addConnection( + "QDBusServer-"_L1 + QString::number(reinterpret_cast(newConnection), 16), + newConnection); serverConnection->serverConnectionNames << newConnection->name; // setPeer does the error handling for us -- cgit v1.2.3