aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2023-06-01 11:05:32 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2023-06-05 15:35:30 +0000
commitf3ac335b43b10399215f0d69edd2b241d41660a1 (patch)
tree2c91a06d5c780aaa8b79e7bbb49a53227050e16e
parent9e90ea9f616c76d762cabd0bb3ed36fa94309295 (diff)
QtQml: Allow coercion to signed char in metaTypeFromJS
So far we rely on QVariant::convert() and that only works in some places and is expensive. Change-Id: Ia6be7807c3d245148fcd4f4bed2ebc9e35ad52ff Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 7bcac622655479ecb7aebdf55aa17980b79fbc78) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/qml/jsruntime/qv4engine.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/qml/jsruntime/qv4engine.cpp b/src/qml/jsruntime/qv4engine.cpp
index fb1a19d691..271107b316 100644
--- a/src/qml/jsruntime/qv4engine.cpp
+++ b/src/qml/jsruntime/qv4engine.cpp
@@ -2475,6 +2475,9 @@ bool ExecutionEngine::metaTypeFromJS(const Value &value, QMetaType metaType, voi
case QMetaType::UChar:
*reinterpret_cast<unsigned char*>(data) = (unsigned char)(value.toInt32());
return true;
+ case QMetaType::SChar:
+ *reinterpret_cast<signed char*>(data) = (signed char)(value.toInt32());
+ return true;
case QMetaType::QChar:
if (String *s = value.stringValue()) {
QString str = s->toQString();