diff options
-rw-r--r-- | dist/changes-5.0.0 | 4 | ||||
-rw-r--r-- | src/corelib/kernel/qmetatype.cpp | 30 | ||||
-rw-r--r-- | src/corelib/kernel/qmetatype.h | 1 | ||||
-rw-r--r-- | tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp | 23 |
4 files changed, 3 insertions, 55 deletions
diff --git a/dist/changes-5.0.0 b/dist/changes-5.0.0 index 280b5d93f9..617b2d3d95 100644 --- a/dist/changes-5.0.0 +++ b/dist/changes-5.0.0 @@ -45,7 +45,9 @@ information about a particular change. in Qt4, so these methods return a bool now. If your code used the undocumented QBool, simply replace it with bool. -- QMetaType::construct() has been renamed to QMetaType::create(). +- QMetaType: + * QMetaType::construct() has been renamed to QMetaType::create(). + * QMetaType::unregisterType() has been removed. - QTestLib: * The QTRY_VERIFY and QTRY_COMPARE macros have been moved into QTestLib. diff --git a/src/corelib/kernel/qmetatype.cpp b/src/corelib/kernel/qmetatype.cpp index 50b11e0e98..b31bece376 100644 --- a/src/corelib/kernel/qmetatype.cpp +++ b/src/corelib/kernel/qmetatype.cpp @@ -532,36 +532,6 @@ int QMetaType::registerTypedef(const char* typeName, int aliasId) } /*! - \since 4.4 - - Unregisters a user type, with \a typeName. - - \sa type(), typeName() - */ -void QMetaType::unregisterType(const char *typeName) -{ - QVector<QCustomTypeInfo> *ct = customTypes(); - if (!ct || !typeName) - return; - -#ifdef QT_NO_QOBJECT - NS(QByteArray) normalizedTypeName = typeName; -#else - NS(QByteArray) normalizedTypeName = QMetaObject::normalizedType(typeName); -#endif - QWriteLocker locker(customTypesLock()); - for (int v = 0; v < ct->count(); ++v) { - if (ct->at(v).typeName == typeName) { - QCustomTypeInfo &inf = (*ct)[v]; - inf.typeName.clear(); - inf.creator = 0; - inf.deleter = 0; - inf.alias = -1; - } - } -} - -/*! Returns true if the datatype with ID \a type is registered; otherwise returns false. diff --git a/src/corelib/kernel/qmetatype.h b/src/corelib/kernel/qmetatype.h index 0ea9d26394..e99c93c372 100644 --- a/src/corelib/kernel/qmetatype.h +++ b/src/corelib/kernel/qmetatype.h @@ -247,7 +247,6 @@ public: static void destroy(int type, void *data); static void *construct(int type, void *where, const void *copy); static void destruct(int type, void *where); - static void unregisterType(const char *typeName); #ifndef QT_NO_DATASTREAM static bool save(QDataStream &stream, int type, const void *data); diff --git a/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp b/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp index be13b39e7e..ca2964d3e2 100644 --- a/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp +++ b/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp @@ -87,7 +87,6 @@ private slots: void typedefs(); void isRegistered_data(); void isRegistered(); - void unregisterType(); void registerStreamBuiltin(); void automaticTemplateRegistration(); }; @@ -857,28 +856,6 @@ void tst_QMetaType::isRegistered() QCOMPARE(QMetaType::isRegistered(typeId), registered); } -class RegUnreg -{ -public: - RegUnreg() {}; - RegUnreg(const RegUnreg &) {}; - ~RegUnreg() {}; -}; - -void tst_QMetaType::unregisterType() -{ - // cannot unregister standard types - int typeId = qRegisterMetaType<QList<QVariant> >("QList<QVariant>"); - QCOMPARE(QMetaType::isRegistered(typeId), true); - QMetaType::unregisterType("QList<QVariant>"); - QCOMPARE(QMetaType::isRegistered(typeId), true); - // allow unregister user types - typeId = qRegisterMetaType<RegUnreg>("RegUnreg"); - QCOMPARE(QMetaType::isRegistered(typeId), true); - QMetaType::unregisterType("RegUnreg"); - QCOMPARE(QMetaType::isRegistered(typeId), false); -} - void tst_QMetaType::registerStreamBuiltin() { //should not crash; |