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