summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel/qvariant.h
diff options
context:
space:
mode:
authorOlivier Goffart <ogoffart@trolltech.com>2010-03-03 10:02:11 (GMT)
committerOlivier Goffart <ogoffart@trolltech.com>2010-03-03 10:48:16 (GMT)
commit24cf789b68f21b2d1ea31580e55c91a2cae25a12 (patch)
tree67717ff96c11a5bbb22e19265fc4688ef63a7dee /src/corelib/kernel/qvariant.h
parenta4af046157c7ef94990f9520c4611597ff271c57 (diff)
downloadQt-24cf789b68f21b2d1ea31580e55c91a2cae25a12.zip
Qt-24cf789b68f21b2d1ea31580e55c91a2cae25a12.tar.gz
Qt-24cf789b68f21b2d1ea31580e55c91a2cae25a12.tar.bz2
Fix compilation of Q_DECLARE_METATYPE(QVariant) by introducing QMetaType::QVariant
After 03daf059647c0a0222e8774b0a083f58c8e64934 With the recent change in QMetaType, qRegisterMetaType<T> instantiates QMetaTypeId2<T>, which itself instantiates QMetaTypeId<T> if T is not builtin into QMetaType. But qRegisterMetaType<QVariant> is called in qvariant.h which makes further call to Q_DECLARE_METATYPE(QVariant) to fail as QMetaTypeId<QVariant> would have been instantied before The solution is to make QVariant a builtin type. Reviewed-by: Thierry
Diffstat (limited to 'src/corelib/kernel/qvariant.h')
-rw-r--r--src/corelib/kernel/qvariant.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/corelib/kernel/qvariant.h b/src/corelib/kernel/qvariant.h
index 9628dbf..cb2825c 100644
--- a/src/corelib/kernel/qvariant.h
+++ b/src/corelib/kernel/qvariant.h
@@ -589,8 +589,7 @@ template<typename T> inline T qvariant_cast(const QVariant &v)
template<> inline QVariant qvariant_cast<QVariant>(const QVariant &v)
{
- static const int vid = qRegisterMetaType<QVariant>("QVariant");
- if (vid == v.userType())
+ if (v.userType() == QMetaType::QVariant)
return *reinterpret_cast<const QVariant *>(v.constData());
return v;
}