mirror of
https://github.com/overte-org/overte.git
synced 2025-08-08 11:37:58 +02:00
Disallowed incorrect Vec3 to float cast in script engine
This commit is contained in:
parent
c78ec80539
commit
4d61d4fe67
1 changed files with 14 additions and 1 deletions
|
@ -4,6 +4,7 @@
|
||||||
//
|
//
|
||||||
// Created by Heather Anderson 12/9/2021
|
// Created by Heather Anderson 12/9/2021
|
||||||
// Copyright 2021 Vircadia contributors.
|
// Copyright 2021 Vircadia contributors.
|
||||||
|
// Copyright 2022 Overte e.V.
|
||||||
//
|
//
|
||||||
// Distributed under the Apache License, Version 2.0.
|
// Distributed under the Apache License, Version 2.0.
|
||||||
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
// 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&
|
||||||
break;
|
break;
|
||||||
case QMetaType::UInt:
|
case QMetaType::UInt:
|
||||||
case QMetaType::ULong:
|
case QMetaType::ULong:
|
||||||
|
if ( val.isArray() || val.isObject() ){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
dest = QVariant::fromValue(val.toUInt32());
|
dest = QVariant::fromValue(val.toUInt32());
|
||||||
break;
|
break;
|
||||||
case QMetaType::Int:
|
case QMetaType::Int:
|
||||||
case QMetaType::Long:
|
case QMetaType::Long:
|
||||||
case QMetaType::Short:
|
case QMetaType::Short:
|
||||||
|
if ( val.isArray() || val.isObject() ){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
dest = QVariant::fromValue(val.toInt32());
|
dest = QVariant::fromValue(val.toInt32());
|
||||||
break;
|
break;
|
||||||
case QMetaType::Double:
|
case QMetaType::Double:
|
||||||
case QMetaType::Float:
|
case QMetaType::Float:
|
||||||
case QMetaType::ULongLong:
|
case QMetaType::ULongLong:
|
||||||
case QMetaType::LongLong:
|
case QMetaType::LongLong:
|
||||||
|
if ( val.isArray() || val.isObject() ){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
dest = QVariant::fromValue(val.toNumber());
|
dest = QVariant::fromValue(val.toNumber());
|
||||||
break;
|
break;
|
||||||
case QMetaType::QString:
|
case QMetaType::QString:
|
||||||
|
@ -296,6 +306,9 @@ bool ScriptEngineQtScript::castValueToVariant(const QScriptValue& val, QVariant&
|
||||||
dest = QVariant::fromValue(val.toString());
|
dest = QVariant::fromValue(val.toString());
|
||||||
break;
|
break;
|
||||||
case QMetaType::UShort:
|
case QMetaType::UShort:
|
||||||
|
if ( val.isArray() || val.isObject() ){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
dest = QVariant::fromValue(val.toUInt16());
|
dest = QVariant::fromValue(val.toUInt16());
|
||||||
break;
|
break;
|
||||||
case QMetaType::QObjectStar:
|
case QMetaType::QObjectStar:
|
||||||
|
|
Loading…
Reference in a new issue