diff options
author | Matthew Vogt <matthew.vogt@nokia.com> | 2012-08-01 10:27:17 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-08-10 05:40:49 +0200 |
commit | 4350877d6deb58f36df24164c6edde3302a3f1a3 (patch) | |
tree | 5b1b121c1ce21aff1717de500282a5951f4e1267 /src/qml/qml/qqmlvaluetype_p.h | |
parent | 34ae6deb78c30a80570e0c0dda7b2f071abdbf68 (diff) |
Permit value types with metatype IDs >= QMetaType::User
Remove the assumption that value types must be types defined by
Qt, having metatype IDs below QMetaType::User.
Task-number: QTBUG-26352
Change-Id: Ib5a56ff2e7892e82adf17a3a1e7517a0c9fe0534
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
Diffstat (limited to 'src/qml/qml/qqmlvaluetype_p.h')
-rw-r--r-- | src/qml/qml/qqmlvaluetype_p.h | 22 |
1 files changed, 1 insertions, 21 deletions
diff --git a/src/qml/qml/qqmlvaluetype_p.h b/src/qml/qml/qqmlvaluetype_p.h index 153037b248..dd3c9196d3 100644 --- a/src/qml/qml/qqmlvaluetype_p.h +++ b/src/qml/qml/qqmlvaluetype_p.h @@ -161,30 +161,10 @@ protected: class Q_QML_PRIVATE_EXPORT QQmlValueTypeFactory { public: - QQmlValueTypeFactory(); - ~QQmlValueTypeFactory(); static bool isValueType(int); - static QQmlValueType *valueType(int); + static QQmlValueType *valueType(int idx); static void registerValueTypes(const char *uri, int versionMajor, int versionMinor); - - QQmlValueType *operator[](int idx) const { - if (idx >= (int)QVariant::UserType) - return 0; - - QQmlValueType *rv = valueTypes[idx]; - if (!rv) { - // Table update is not thread-safe, but the potential for leaks is - // so small that the cost of protection is unwarranted - if ((rv = valueType(idx))) { - valueTypes[idx] = rv; - } - } - return rv; - } - -private: - mutable QQmlValueType *valueTypes[QVariant::UserType]; }; class Q_QML_PRIVATE_EXPORT QQmlPointFValueType : public QQmlValueTypeBase<QPointF> |