diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2012-07-06 15:58:00 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-07-10 03:24:15 +0200 |
commit | 7e0562c5ff18e2ddd72bccd133a762fd37e50eba (patch) | |
tree | b3c7c2d606851d21875a0ca432b329dc37b0f066 /src/dbus | |
parent | c327838f67ab66ed944aa8f8dbef7908a34df30c (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.h | 6 |
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 |