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.
}
/*!
- \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.
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);
void typedefs();
void isRegistered_data();
void isRegistered();
- void unregisterType();
void registerStreamBuiltin();
void automaticTemplateRegistration();
};
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;