summaryrefslogtreecommitdiffstats
path: root/src/dbus
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2012-07-06 15:58:00 +0200
committerQt by Nokia <qt-info@nokia.com>2012-07-10 03:24:15 +0200
commit7e0562c5ff18e2ddd72bccd133a762fd37e50eba (patch)
treeb3c7c2d606851d21875a0ca432b329dc37b0f066 /src/dbus
parentc327838f67ab66ed944aa8f8dbef7908a34df30c (diff)
fix compilation with conforming compilers (e.g. GCC >= 4.7)
In qdbus_cast(), qMetaTypeId<QDBusArgument> as well as qvariant_cast<QDBusArgument> are used. They don't depend on any template argument of qdbus_cast(), so their definitions need to be available at function template definition instead of instantiation time. But the necessary Q_DECLARE_METATYPE(QDBusArgument) was at the end of the header, after the defintion of qdbus_cast(), which is too late for conformin compilers. Fixed by moving it up just after the QDBusArgument definition. Similarly, in tst_qdatetime and tst_qvector, the Q_DECLARE_METATYPE() for Qt::DateFormat and QVector<int>, and with it the specialisation of QMetaTypeId<>, were issued after the first use of meta typing; too late for conforming compilers. Change-Id: I25ca0b06e68d5184597a22708404a8f2040b2de1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/dbus')
-rw-r--r--src/dbus/qdbusargument.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/dbus/qdbusargument.h b/src/dbus/qdbusargument.h
index b4731fdb1f..740b6b8163 100644
--- a/src/dbus/qdbusargument.h
+++ b/src/dbus/qdbusargument.h
@@ -151,6 +151,10 @@ protected:
mutable QDBusArgumentPrivate *d;
};
+QT_END_NAMESPACE
+Q_DECLARE_METATYPE(QDBusArgument)
+QT_BEGIN_NAMESPACE
+
template<typename T> inline T qdbus_cast(const QDBusArgument &arg
#ifndef Q_QDOC
, T * = 0
@@ -396,8 +400,6 @@ inline QDBusArgument &operator<<(QDBusArgument &arg, const QVariantHash &map)
QT_END_NAMESPACE
-Q_DECLARE_METATYPE(QDBusArgument)
-
QT_END_HEADER
#endif // QT_NO_DBUS