diff options
Diffstat (limited to 'src/qml/jsruntime/qv4variantobject.cpp')
-rw-r--r-- | src/qml/jsruntime/qv4variantobject.cpp | 12 |
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; } } |