aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsapi/qjsvalue.cpp
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2020-11-25 14:18:05 +0100
committerUlf Hermann <ulf.hermann@qt.io>2020-11-26 08:27:28 +0100
commit6b08c24297f39f3c67bc5c16f46198b33af66529 (patch)
treed0998702cd05f22e0e6129e9d582c6efbda023c8 /src/qml/jsapi/qjsvalue.cpp
parent63304384c8333c2aead5243c926f4f1b8be4dabf (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.cpp6
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();