Showing the changes to libraries/script-engine/src/qtscript/ScriptEngineQtScript_cast.cpp (1 of 1 file). Show all
Unified · Split
| @@ -4,6 +4,7 @@ · 3 unmodified lines | ||
| 4 | 4 | // |
| 5 | 5 | // Created by Heather Anderson 12/9/2021 |
| 6 | 6 | // Copyright 2021 Vircadia contributors. |
| 7 | +// Copyright 2022 Overte e.V. | |
| 7 | 8 | // |
| 8 | 9 | // Distributed under the Apache License, Version 2.0. |
| 9 | 10 | // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html |
| @@ -278,17 +279,26 @@ bool ScriptEngineQtScript::castValueToVariant(const QScriptValue& val, QVariant& · 268 unmodified lines | ||
| 278 | 279 | break; |
| 279 | 280 | case QMetaType::UInt: |
| 280 | 281 | case QMetaType::ULong: |
| 282 | + if ( val.isArray() || val.isObject() ){ | |
| 283 | + return false; | |
| 284 | + } | |
| 281 | 285 | dest = QVariant::fromValue(val.toUInt32()); |
| 282 | 286 | break; |
| 283 | 287 | case QMetaType::Int: |
| 284 | 288 | case QMetaType::Long: |
| 285 | 289 | case QMetaType::Short: |
| 290 | + if ( val.isArray() || val.isObject() ){ | |
| 291 | + return false; | |
| 292 | + } | |
| 286 | 293 | dest = QVariant::fromValue(val.toInt32()); |
| 287 | 294 | break; |
| 288 | 295 | case QMetaType::Double: |
| 289 | 296 | case QMetaType::Float: |
| 290 | 297 | case QMetaType::ULongLong: |
| 291 | 298 | case QMetaType::LongLong: |
| 299 | + if ( val.isArray() || val.isObject() ){ | |
| 300 | + return false; | |
| 301 | + } | |
| 292 | 302 | dest = QVariant::fromValue(val.toNumber()); |
| 293 | 303 | break; |
| 294 | 304 | case QMetaType::QString: |
| @@ -296,6 +306,9 @@ bool ScriptEngineQtScript::castValueToVariant(const QScriptValue& val, QVariant& · 1 unmodified line | ||
| 296 | 306 | dest = QVariant::fromValue(val.toString()); |
| 297 | 307 | break; |
| 298 | 308 | case QMetaType::UShort: |
| 309 | + if ( val.isArray() || val.isObject() ){ | |
| 310 | + return false; | |
| 311 | + } | |
| 299 | 312 | dest = QVariant::fromValue(val.toUInt16()); |
| 300 | 313 | break; |
| 301 | 314 | case QMetaType::QObjectStar: |
| @@ -444,4 +457,4 @@ QScriptValue ScriptEngineQtScript::castVariantToValue(const QVariant& val) { · 142 unmodified lines | ||
| 444 | 457 | // just do a generic variant |
| 445 | 458 | return QScriptEngine::newVariant(val); |
| 446 | 459 | } |
| 447 | −} | |
| 460 | +} | |