From daeb334039e9dcc01485995f53552749131a06b7 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Thu, 28 Apr 2016 15:00:58 -0700 Subject: Merge the QDBusMetaType's custom information to QDBusConnectionManager MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This allows us to get rid of two Q_GLOBAL_STATIC in QtDBus, which means fewer opportunities for screwing up the order of destruction. And since QDBusConnectionManager now ensures that the types are initialized, we don't need to re-initialize them everywhere. The Q_GLOBAL_STATIC for QDBusConnectionManager ensures the proper thread-safe locking, so we don't need to lock for every type that we're trying to register. This should make things faster. But as a side-effect, trying to register a D-Bus metatype will cause the QDBusConnectionManager thread to start too. Change-Id: Ifea6e497f11a461db432ffff1449a4e535234485 Reviewed-by: René J.V. Bertin Reviewed-by: Anton Kudryavtsev Reviewed-by: Thiago Macieira Reviewed-by: Lars Knoll --- src/dbus/qdbusconnectionmanager_p.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/dbus/qdbusconnectionmanager_p.h') diff --git a/src/dbus/qdbusconnectionmanager_p.h b/src/dbus/qdbusconnectionmanager_p.h index 1c7dea811d..fd6cd84677 100644 --- a/src/dbus/qdbusconnectionmanager_p.h +++ b/src/dbus/qdbusconnectionmanager_p.h @@ -55,13 +55,14 @@ #include #include "qdbusconnection_p.h" +#include "qdbusmetatype_p.h" #include "private/qthread_p.h" #ifndef QT_NO_DBUS QT_BEGIN_NAMESPACE -class QDBusConnectionManager : public QDaemonThread +class QDBusConnectionManager : public QDaemonThread, public QDBusMetaTypeId { Q_OBJECT struct ConnectionRequestData; -- cgit v1.2.3