aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsapi
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2016-08-05 10:02:52 +0200
committerChristian Kandeler <christian.kandeler@qt.io>2016-08-08 12:45:38 +0000
commit3e5152be4100cbe649d252bb5d95dc98be5df2f0 (patch)
tree6c81cd4eb1def724c564547755f87c987b04e353 /src/qml/jsapi
parentf9f4f1cbda1b4ac19819f21dc3af33f0b7ebf071 (diff)
QJSValue: Adapt to introduction of QMetaType::Nullptr
[ChangeLog][QtQml][Important Behavior Changes] A JS null value converted to a QVariant now has type QMetaType::Nullptr rather than QMetaType::VoidStar. Change-Id: I91a64e444ada0f1884fe807f9973348ba1a878ff Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/qml/jsapi')
-rw-r--r--src/qml/jsapi/qjsvalue.cpp11
-rw-r--r--src/qml/jsapi/qjsvalue_p.h1
2 files changed, 8 insertions, 4 deletions
diff --git a/src/qml/jsapi/qjsvalue.cpp b/src/qml/jsapi/qjsvalue.cpp
index e5c1dcdb80..a4a96a96a7 100644
--- a/src/qml/jsapi/qjsvalue.cpp
+++ b/src/qml/jsapi/qjsvalue.cpp
@@ -178,7 +178,7 @@ QJSValue::QJSValue(SpecialValue value)
: d(0)
{
if (value == NullValue)
- QJSValuePrivate::setVariant(this, QVariant(QMetaType::VoidStar, (void *)0));
+ QJSValuePrivate::setVariant(this, QVariant::fromValue(nullptr));
}
/*!
@@ -293,7 +293,10 @@ bool QJSValue::isNull() const
if (val)
return val->isNull();
QVariant *variant = QJSValuePrivate::getVariant(this);
- return variant && variant->userType() == QMetaType::VoidStar;
+ if (!variant)
+ return false;
+ const int type = variant->userType();
+ return type == QMetaType::Nullptr || type == QMetaType::VoidStar;
}
/*!
@@ -582,7 +585,7 @@ quint32 QJSValue::toUInt() const
\table
\header \li Input Type \li Result
\row \li Undefined \li An invalid QVariant.
- \row \li Null \li A QVariant containing a null pointer (QMetaType::VoidStar).
+ \row \li Null \li A QVariant containing a null pointer (QMetaType::Nullptr).
\row \li Boolean \li A QVariant containing the value of the boolean.
\row \li Number \li A QVariant containing the value of the number.
\row \li String \li A QVariant containing the value of the string.
@@ -619,7 +622,7 @@ QVariant QJSValue::toVariant() const
return QVariant(val->asDouble());
}
if (val->isNull())
- return QVariant(QMetaType::VoidStar, 0);
+ return QVariant(QMetaType::Nullptr, 0);
Q_ASSERT(val->isUndefined());
return QVariant();
}
diff --git a/src/qml/jsapi/qjsvalue_p.h b/src/qml/jsapi/qjsvalue_p.h
index 25afd9275c..c4761ad6ea 100644
--- a/src/qml/jsapi/qjsvalue_p.h
+++ b/src/qml/jsapi/qjsvalue_p.h
@@ -132,6 +132,7 @@ public:
case QMetaType::Void:
*v = QV4::Encode::undefined();
break;
+ case QMetaType::Nullptr:
case QMetaType::VoidStar:
*v = QV4::Encode::null();
break;