From 79b742b7e01ba5fa46b45578660d0e1f9ce0dae6 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Fri, 20 Jul 2012 10:56:54 +0200 Subject: QtNetwork: use nullary version of qRegisterMetaType("T") Using the nullary version has the advantage that multiple calls during a program run are much more efficient, since an inlined atomic is used to store the result. It also ensures that Q_DECLARE_METATYPE(T) has been used, whereas qRegisterMetaType("T") will happily register anything. So I've added the macro where it was missing, or moved it to a central place when it existed hidden. In tst_qnetworkreply, this became a bit tricky, because a private header is conditionally included, so moved the Q_DECLARE_METATYPE() into a conditional section, too. Change-Id: I71484523e4277f4697b7d4b2ddc3505375162727 Reviewed-by: Stephen Kelly --- src/network/kernel/qhostinfo.cpp | 2 +- src/network/kernel/qhostinfo.h | 2 ++ src/network/kernel/qnetworkproxy.h | 2 ++ 3 files changed, 5 insertions(+), 1 deletion(-) (limited to 'src/network/kernel') diff --git a/src/network/kernel/qhostinfo.cpp b/src/network/kernel/qhostinfo.cpp index 32cf90145c..21ce2bac9a 100644 --- a/src/network/kernel/qhostinfo.cpp +++ b/src/network/kernel/qhostinfo.cpp @@ -159,7 +159,7 @@ int QHostInfo::lookupHost(const QString &name, QObject *receiver, return -1; } - qRegisterMetaType("QHostInfo"); + qRegisterMetaType(); int id = theIdCounter.fetchAndAddRelaxed(1); // generate unique ID diff --git a/src/network/kernel/qhostinfo.h b/src/network/kernel/qhostinfo.h index 2fc87f3bdc..602d4dad75 100644 --- a/src/network/kernel/qhostinfo.h +++ b/src/network/kernel/qhostinfo.h @@ -96,6 +96,8 @@ private: QT_END_NAMESPACE +Q_DECLARE_METATYPE(QHostInfo) + QT_END_HEADER #endif // QHOSTINFO_H diff --git a/src/network/kernel/qnetworkproxy.h b/src/network/kernel/qnetworkproxy.h index 5287546849..2954ad3d71 100644 --- a/src/network/kernel/qnetworkproxy.h +++ b/src/network/kernel/qnetworkproxy.h @@ -215,6 +215,8 @@ Q_NETWORK_EXPORT QDebug operator<<(QDebug debug, const QNetworkProxy &proxy); QT_END_NAMESPACE +Q_DECLARE_METATYPE(QNetworkProxy) + QT_END_HEADER #endif // QT_NO_NETWORKPROXY -- cgit v1.2.3