diff options
-rw-r--r-- | dist/changes-5.0.0 | 2 | ||||
-rw-r--r-- | src/corelib/kernel/qmetatype.cpp | 5 | ||||
-rw-r--r-- | src/corelib/kernel/qmetatype.h | 18 | ||||
-rw-r--r-- | src/corelib/kernel/qvariant.cpp | 4 | ||||
-rw-r--r-- | src/widgets/kernel/qwidgetsvariant.cpp | 3 | ||||
-rw-r--r-- | tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp | 3 | ||||
-rw-r--r-- | tests/auto/corelib/kernel/qmetatype/typeFlags.bin | bin | 146 -> 144 bytes | |||
-rw-r--r-- | tests/auto/widgets/kernel/qwidgetmetatype/tst_qwidgetmetatype.cpp | 4 | ||||
-rw-r--r-- | tests/auto/widgets/kernel/qwidgetsvariant/tst_qwidgetsvariant.cpp | 7 |
9 files changed, 12 insertions, 34 deletions
diff --git a/dist/changes-5.0.0 b/dist/changes-5.0.0 index e40c7c70ab..9a9c0ec4e2 100644 --- a/dist/changes-5.0.0 +++ b/dist/changes-5.0.0 @@ -62,6 +62,8 @@ information about a particular change. - QMetaType: * QMetaType::construct() has been renamed to QMetaType::create(). * QMetaType::unregisterType() has been removed. + * QMetaType::QWidgetStar has been removed. Use qMetaTypeId<QWidget*>() + or QVariant::canConvert<QWidget*>() as appropriate. - QMetaMethod: * QMetaMethod::signature() has been renamed to QMetaMethod::methodSignature(), diff --git a/src/corelib/kernel/qmetatype.cpp b/src/corelib/kernel/qmetatype.cpp index 18b17d9aea..080dbd718a 100644 --- a/src/corelib/kernel/qmetatype.cpp +++ b/src/corelib/kernel/qmetatype.cpp @@ -165,7 +165,6 @@ struct DefinedTypesFilter { \value UChar \c{unsigned char} \value Float \c float \value QObjectStar QObject * - \value QWidgetStar QWidget * \value QVariant QVariant \value QCursor QCursor @@ -604,7 +603,7 @@ int QMetaType::registerNormalizedTypedef(const NS(QByteArray) &normalizedTypeNam bool QMetaType::isRegistered(int type) { // predefined type - if ((type >= FirstCoreType && type <= LastCoreType) + if ((type >= FirstCoreType && type <= LastCoreType && type != 40) // 40 is the type that QWidgetStar used to be || (type >= FirstGuiType && type <= LastGuiType) || (type >= FirstWidgetsType && type <= LastWidgetsType)) { return true; @@ -693,7 +692,6 @@ bool QMetaType::save(QDataStream &stream, int type, const void *data) case QMetaType::Void: case QMetaType::VoidStar: case QMetaType::QObjectStar: - case QMetaType::QWidgetStar: case QMetaType::QModelIndex: case QMetaType::QJsonValue: case QMetaType::QJsonObject: @@ -911,7 +909,6 @@ bool QMetaType::load(QDataStream &stream, int type, void *data) case QMetaType::Void: case QMetaType::VoidStar: case QMetaType::QObjectStar: - case QMetaType::QWidgetStar: case QMetaType::QModelIndex: case QMetaType::QJsonValue: case QMetaType::QJsonObject: diff --git a/src/corelib/kernel/qmetatype.h b/src/corelib/kernel/qmetatype.h index 7c32ce744e..a40bd77e5a 100644 --- a/src/corelib/kernel/qmetatype.h +++ b/src/corelib/kernel/qmetatype.h @@ -113,8 +113,7 @@ QT_BEGIN_NAMESPACE F(QJsonDocument, 48, QJsonDocument) \ #define QT_FOR_EACH_STATIC_CORE_POINTER(F)\ - F(QObjectStar, 39, QObject*) \ - F(QWidgetStar, 40, QWidget*) \ + F(QObjectStar, 39, QObject*) #define QT_FOR_EACH_STATIC_CORE_TEMPLATE(F)\ F(QVariantMap, 8, QVariantMap) \ @@ -233,7 +232,7 @@ public: QRegularExpression = 44, QJsonValue = 45, QJsonObject = 46, QJsonArray = 47, QJsonDocument = 48, SChar = 49, - QObjectStar = 39, QWidgetStar = 40, + QObjectStar = 39, Void = 43, QVariantMap = 8, QVariantList = 9, QVariantHash = 28, QFont = 64, QPixmap = 65, QBrush = 66, QColor = 67, QPalette = 68, @@ -448,11 +447,6 @@ namespace QtPrivate { enum { Value = true }; }; - template<> - struct IsPointerToTypeDerivedFromQObject<QWidget*> - { - enum { Value = true }; - }; template<typename T> struct IsPointerToTypeDerivedFromQObject<T*> @@ -480,14 +474,6 @@ namespace QtPrivate static inline const QMetaObject *value() { return &T::staticMetaObject; } }; - Q_CORE_EXPORT const QMetaObject *metaObjectForQWidget(); - - template<> - struct MetaObjectForType<QWidget*, /* isPointerToTypeDerivedFromQObject = */ true> - { - static const QMetaObject *value() { return metaObjectForQWidget(); } - }; - template<typename T> struct IsSharedPointerToTypeDerivedFromQObject { diff --git a/src/corelib/kernel/qvariant.cpp b/src/corelib/kernel/qvariant.cpp index 4b582affb3..8c38259276 100644 --- a/src/corelib/kernel/qvariant.cpp +++ b/src/corelib/kernel/qvariant.cpp @@ -1074,8 +1074,7 @@ Q_CORE_EXPORT void QVariantPrivate::registerHandler(const int /* Modules::Names Usually, you never have to use this constructor, use QVariant::fromValue() instead to construct variants from the pointer types represented by - \c QMetaType::VoidStar, \c QMetaType::QObjectStar and - \c QMetaType::QWidgetStar. + \c QMetaType::VoidStar, and \c QMetaType::QObjectStar. \sa QVariant::fromValue(), Type */ @@ -2724,7 +2723,6 @@ bool QVariant::canConvert(int targetTypeId) const case QMetaType::Short: case QMetaType::UShort: return qCanConvertMatrix[QVariant::Int] & (1 << currentType) || currentType == QVariant::Int; - case QMetaType::QWidgetStar: case QMetaType::QObjectStar: return canConvertMetaObject(currentType, targetTypeId, d.data.o); default: diff --git a/src/widgets/kernel/qwidgetsvariant.cpp b/src/widgets/kernel/qwidgetsvariant.cpp index 0e4d44bc97..bc1112c9aa 100644 --- a/src/widgets/kernel/qwidgetsvariant.cpp +++ b/src/widgets/kernel/qwidgetsvariant.cpp @@ -152,12 +152,11 @@ static const QMetaTypeInterface qVariantWidgetsHelper[] = { } // namespace extern Q_CORE_EXPORT const QMetaTypeInterface *qMetaTypeWidgetsHelper; -extern Q_CORE_EXPORT const QMetaObject *qMetaObjectWidgetsHelper; void qRegisterWidgetsVariant() { + qRegisterMetaType<QWidget*>(); qMetaTypeWidgetsHelper = qVariantWidgetsHelper; - qMetaObjectWidgetsHelper = &QWidget::staticMetaObject; QVariantPrivate::registerHandler(QModulesPrivate::Widgets, &widgets_handler); } Q_CONSTRUCTOR_FUNCTION(qRegisterWidgetsVariant) diff --git a/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp b/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp index b251761415..1d559af22c 100644 --- a/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp +++ b/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp @@ -498,9 +498,6 @@ template<> struct TestValueFactory<QMetaType::Float> { template<> struct TestValueFactory<QMetaType::QObjectStar> { static QObject * *create() { return new QObject *(0); } }; -template<> struct TestValueFactory<QMetaType::QWidgetStar> { - static QWidget * *create() { return new QWidget *(0); } -}; template<> struct TestValueFactory<QMetaType::VoidStar> { static void * *create() { return new void *(0); } }; diff --git a/tests/auto/corelib/kernel/qmetatype/typeFlags.bin b/tests/auto/corelib/kernel/qmetatype/typeFlags.bin Binary files differindex cf83e9419e..dee0983775 100644 --- a/tests/auto/corelib/kernel/qmetatype/typeFlags.bin +++ b/tests/auto/corelib/kernel/qmetatype/typeFlags.bin diff --git a/tests/auto/widgets/kernel/qwidgetmetatype/tst_qwidgetmetatype.cpp b/tests/auto/widgets/kernel/qwidgetmetatype/tst_qwidgetmetatype.cpp index f92a4fd5cd..fbfa018cef 100644 --- a/tests/auto/widgets/kernel/qwidgetmetatype/tst_qwidgetmetatype.cpp +++ b/tests/auto/widgets/kernel/qwidgetmetatype/tst_qwidgetmetatype.cpp @@ -68,14 +68,14 @@ public: }; Q_STATIC_ASSERT(( QMetaTypeId2<QSizePolicy>::IsBuiltIn)); -Q_STATIC_ASSERT(( QMetaTypeId2<QWidget*>::IsBuiltIn)); +Q_STATIC_ASSERT((!QMetaTypeId2<QWidget*>::IsBuiltIn)); Q_STATIC_ASSERT((!QMetaTypeId2<QList<QSizePolicy> >::IsBuiltIn)); Q_STATIC_ASSERT((!QMetaTypeId2<QMap<QString,QSizePolicy> >::IsBuiltIn)); void tst_QWidgetMetaType::metaObject() { - QCOMPARE(QMetaType::metaObjectForType(QMetaType::QWidgetStar), &QWidget::staticMetaObject); + QCOMPARE(QMetaType::metaObjectForType(qMetaTypeId<QWidget*>()), &QWidget::staticMetaObject); QCOMPARE(QMetaType::metaObjectForType(qMetaTypeId<QLabel*>()), &QLabel::staticMetaObject); QCOMPARE(QMetaType::metaObjectForType(qMetaTypeId<CustomWidget*>()), &CustomWidget::staticMetaObject); } diff --git a/tests/auto/widgets/kernel/qwidgetsvariant/tst_qwidgetsvariant.cpp b/tests/auto/widgets/kernel/qwidgetsvariant/tst_qwidgetsvariant.cpp index 90238b5d9b..a5e33c41c9 100644 --- a/tests/auto/widgets/kernel/qwidgetsvariant/tst_qwidgetsvariant.cpp +++ b/tests/auto/widgets/kernel/qwidgetsvariant/tst_qwidgetsvariant.cpp @@ -198,11 +198,10 @@ void tst_QWidgetsVariant::qvariant_cast_QObject() QCOMPARE(data.userType(), int(QMetaType::QObjectStar)); QVERIFY(data.canConvert<QWidget*>()); - QVERIFY(data.canConvert(QMetaType::QWidgetStar)); QVERIFY(data.canConvert(::qMetaTypeId<QWidget*>())); QVERIFY(data.value<QWidget*>()); - QVERIFY(data.convert(QMetaType::QWidgetStar)); - QCOMPARE(data.userType(), int(QMetaType::QWidgetStar)); + QVERIFY(data.convert(qMetaTypeId<QWidget*>())); + QCOMPARE(data.userType(), qMetaTypeId<QWidget*>()); } else { QVERIFY(!data.canConvert<QObject*>()); QVERIFY(!data.canConvert(QMetaType::QObjectStar)); @@ -219,7 +218,7 @@ void tst_QWidgetsVariant::qvariant_cast_QObject_derived() CustomQWidget customWidget; QWidget *widget = &customWidget; QVariant data = QVariant::fromValue(widget); - QVERIFY(data.userType() == QMetaType::QWidgetStar); + QVERIFY(data.userType() == qMetaTypeId<QWidget*>()); QCOMPARE(data.value<QObject*>(), widget); QCOMPARE(data.value<QWidget*>(), widget); |