diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2020-11-25 14:18:05 +0100 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2020-11-26 08:27:28 +0100 |
commit | 6b08c24297f39f3c67bc5c16f46198b33af66529 (patch) | |
tree | d0998702cd05f22e0e6129e9d582c6efbda023c8 /src/qml/jsapi/qjsvalue.cpp | |
parent | 63304384c8333c2aead5243c926f4f1b8be4dabf (diff) |
QJSValue: On toVariant() don't try to unwrap function objects
We cannot retrieve anything sensible from those. Therefore, just wrap
the QJSValue into a variant.
Change-Id: I8acd9fb59a8859c8b2c389efb7934b597a2e479f
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/qml/jsapi/qjsvalue.cpp')
-rw-r--r-- | src/qml/jsapi/qjsvalue.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/qml/jsapi/qjsvalue.cpp b/src/qml/jsapi/qjsvalue.cpp index fe388f3b52..5c246bf2fd 100644 --- a/src/qml/jsapi/qjsvalue.cpp +++ b/src/qml/jsapi/qjsvalue.cpp @@ -591,8 +591,10 @@ QVariant QJSValue::toVariant() const if (val.isString()) return QVariant(val.toQString()); - if (QV4::Managed *m = val.as<QV4::Managed>()) - return m->engine()->toVariant(val, /*typeHint*/ -1, /*createJSValueForObjects*/ false); + if (QV4::Managed *m = val.as<QV4::Managed>()) { + return m->engine()->toVariant(val, /*typeHint*/ -1, + /*createJSValueForObjects*/ val.isFunctionObject()); + } Q_ASSERT(false); return QVariant(); |