From 569cfa5bd0080db88f06047dc267f06b032b1e05 Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Fri, 21 Jun 2019 14:46:34 +0000 Subject: [PATCH] QVariant cleanup Signed-off-by: Ivailo Monev --- src/core/kernel/qmetaobject.cpp | 8 ++++---- src/core/kernel/qvariant.h | 11 +++++------ src/declarative/qml/qdeclarativeproperty.cpp | 4 ++-- src/declarative/qml/qdeclarativevaluetype.cpp | 6 +++--- src/script/api/qscriptengine.cpp | 2 +- 5 files changed, 15 insertions(+), 16 deletions(-) diff --git a/src/core/kernel/qmetaobject.cpp b/src/core/kernel/qmetaobject.cpp index 1de73b96d..31ee88487 100644 --- a/src/core/kernel/qmetaobject.cpp +++ b/src/core/kernel/qmetaobject.cpp @@ -2206,7 +2206,7 @@ QVariant QMetaProperty::read(const QObject *object) const if (!object || !mobj) return QVariant(); - uint t = QVariant::Int; + int t = QVariant::Int; if (isEnumType()) { /* try to create a QVariant that can be converted to this enum @@ -2255,7 +2255,7 @@ QVariant QMetaProperty::read(const QObject *object) const return value; if (t != QVariant::LastType && argv[0] != value.data()) // pointer or reference - return QVariant((QVariant::Type)t, argv[0]); + return QVariant(static_cast(t), argv[0]); return value; } @@ -2271,7 +2271,7 @@ bool QMetaProperty::write(QObject *object, const QVariant &value) const return false; QVariant v = value; - uint t = QVariant::Invalid; + int t = QVariant::Invalid; if (isEnumType()) { if (v.type() == QVariant::String) { const char* cValue = value.toByteArray().constData(); @@ -2302,7 +2302,7 @@ bool QMetaProperty::write(QObject *object, const QVariant &value) const } if (t == QVariant::Invalid) return false; - if (t != QVariant::LastType && t != (uint)value.userType() && (t < QMetaType::User && !v.convert((QVariant::Type)t))) + if (t != QVariant::LastType && t != value.userType() && (t < QMetaType::User && !v.convert(static_cast(t)))) return false; } diff --git a/src/core/kernel/qvariant.h b/src/core/kernel/qvariant.h index dd82110b8..aeabe5b44 100644 --- a/src/core/kernel/qvariant.h +++ b/src/core/kernel/qvariant.h @@ -327,9 +327,9 @@ class Q_CORE_EXPORT QVariant void *ptr; PrivateShared *shared; } data; - uint type : 30; - uint is_shared : 1; - uint is_null : 1; + int type; + bool is_shared; + bool is_null; }; public: typedef void (*f_construct)(Private *, const void *); @@ -410,9 +410,9 @@ template inline void qVariantSetValue(QVariant &v, const T &t) { //if possible we reuse the current QVariant private - const uint type = qMetaTypeId(reinterpret_cast(0)); + const int type = qMetaTypeId(reinterpret_cast(0)); QVariant::Private &d = v.data_ptr(); - if (v.isDetached() && (type == d.type || (type <= uint(QVariant::Char) && d.type <= uint(QVariant::Char)))) { + if (v.isDetached() && (type == d.type || (type <= int(QVariant::Char) && d.type <= int(QVariant::Char)))) { d.type = type; d.is_null = false; T *old = reinterpret_cast(d.is_shared ? d.data.shared->ptr : &d.data.ptr); @@ -462,7 +462,6 @@ template<> inline QVariant qvariant_cast(const QVariant &v) return *reinterpret_cast(v.constData()); return v; } - #endif // QT_MOC Q_DECLARE_SHARED(QVariant) diff --git a/src/declarative/qml/qdeclarativeproperty.cpp b/src/declarative/qml/qdeclarativeproperty.cpp index 8c51fea6e..91592823d 100644 --- a/src/declarative/qml/qdeclarativeproperty.cpp +++ b/src/declarative/qml/qdeclarativeproperty.cpp @@ -1221,9 +1221,9 @@ bool QDeclarativePropertyPrivate::write(QObject *object, const QDeclarativePrope v = QDeclarativeStringConverters::variantFromString(value.toString(), propertyType, &ok); if (!ok) { v = value; - if (v.convert((QVariant::Type)propertyType)) { + if (v.convert(static_cast(propertyType))) { ok = true; - } else if ((uint)propertyType >= QVariant::UserType && variantType == QVariant::String) { + } else if (propertyType >= QVariant::UserType && variantType == QVariant::String) { QDeclarativeMetaType::StringConverter con = QDeclarativeMetaType::customStringConverter(propertyType); if (con) { v = con(value.toString()); diff --git a/src/declarative/qml/qdeclarativevaluetype.cpp b/src/declarative/qml/qdeclarativevaluetype.cpp index e08b556b6..cfb2b6470 100644 --- a/src/declarative/qml/qdeclarativevaluetype.cpp +++ b/src/declarative/qml/qdeclarativevaluetype.cpp @@ -81,19 +81,19 @@ int qmlRegisterValueTypeEnums(const char *uri, int versionMajor, int versionMino QDeclarativeValueTypeFactory::QDeclarativeValueTypeFactory() { // ### Optimize - for (unsigned int ii = 0; ii < (QVariant::UserType - 1); ++ii) + for (int ii = 0; ii < (QVariant::UserType - 1); ++ii) valueTypes[ii] = valueType(ii); } QDeclarativeValueTypeFactory::~QDeclarativeValueTypeFactory() { - for (unsigned int ii = 0; ii < (QVariant::UserType - 1); ++ii) + for (int ii = 0; ii < (QVariant::UserType - 1); ++ii) delete valueTypes[ii]; } bool QDeclarativeValueTypeFactory::isValueType(int idx) { - if ((uint)idx < QVariant::UserType) + if (idx < QVariant::UserType) return true; return false; } diff --git a/src/script/api/qscriptengine.cpp b/src/script/api/qscriptengine.cpp index acbb02842..b7aa1418d 100644 --- a/src/script/api/qscriptengine.cpp +++ b/src/script/api/qscriptengine.cpp @@ -1010,7 +1010,7 @@ QVariant QScriptEnginePrivate::jscValueToVariant(JSC::ExecState *exec, JSC::JSVa QVariant v(targetType, (void *)0); if (convertValue(exec, value, targetType, v.data())) return v; - if (uint(targetType) == QVariant::LastType) + if (targetType == QVariant::LastType) return toVariant(exec, value); if (isVariant(value)) { v = variantValue(value); -- 2.11.0