aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsapi/qjsvalue.cpp
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2016-11-24 15:39:07 +0100
committerLars Knoll <lars.knoll@qt.io>2016-11-29 19:59:58 +0000
commit6b641549536d199a0314049a34e61363bd4df7e0 (patch)
tree1a2f68d61862ede6a06a126d18a5435a0a0bb346 /src/qml/jsapi/qjsvalue.cpp
parent58d0fc4dcf99b867d1f0bd67327105983ec36e07 (diff)
Clean up duplicated checks whether a Value is a Managed
Change-Id: Ib044be254dbb41bd9fb4a6e0baa3bd3c007e6a2a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/qml/jsapi/qjsvalue.cpp')
-rw-r--r--src/qml/jsapi/qjsvalue.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/qml/jsapi/qjsvalue.cpp b/src/qml/jsapi/qjsvalue.cpp
index a4a96a96a7..d0a903a52d 100644
--- a/src/qml/jsapi/qjsvalue.cpp
+++ b/src/qml/jsapi/qjsvalue.cpp
@@ -885,14 +885,16 @@ QJSValue& QJSValue::operator=(const QJSValue& other)
static bool js_equal(const QString &string, const QV4::Value &value)
{
- if (value.isString())
- return string == value.stringValue()->toQString();
+ String *s = value.stringValue();
+ if (s)
+ return string == s->toQString();
if (value.isNumber())
return RuntimeHelpers::stringToNumber(string) == value.asDouble();
if (value.isBoolean())
return RuntimeHelpers::stringToNumber(string) == double(value.booleanValue());
- if (value.isObject()) {
- Scope scope(value.objectValue()->engine());
+ Object *o = value.objectValue();
+ if (o) {
+ Scope scope(o->engine());
ScopedValue p(scope, RuntimeHelpers::toPrimitive(value, PREFERREDTYPE_HINT));
return js_equal(string, p);
}