aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4variantobject.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qml/jsruntime/qv4variantobject.cpp')
-rw-r--r--src/qml/jsruntime/qv4variantobject.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/qml/jsruntime/qv4variantobject.cpp b/src/qml/jsruntime/qv4variantobject.cpp
index 94f95ce813..ccea9cac2a 100644
--- a/src/qml/jsruntime/qv4variantobject.cpp
+++ b/src/qml/jsruntime/qv4variantobject.cpp
@@ -131,7 +131,17 @@ ReturnedValue VariantPrototype::method_valueOf(const FunctionObject *b, const Va
return Encode(v.toBool());
default:
if (QMetaType(v.metaType()).flags() & QMetaType::IsEnumeration)
- RETURN_RESULT(Encode(v.toInt()));
+ return Encode(v.toInt());
+ if (v.canConvert<double>())
+ return Encode(v.toDouble());
+ if (v.canConvert<int>())
+ return Encode(v.toInt());
+ if (v.canConvert<uint>())
+ return Encode(v.toUInt());
+ if (v.canConvert<bool>())
+ return Encode(v.toBool());
+ if (v.canConvert<QString>())
+ return Encode(b->engine()->newString(v.toString()));
break;
}
}