From 7c0f21ce044eb39c203e524e5ddde53e25d9ed17 Mon Sep 17 00:00:00 2001 From: Tobias Koenig Date: Wed, 17 Dec 2014 13:51:55 +0100 Subject: Fix handling of enum values encapsulated in QVariant In case a QJSValue contains a QVariant which wrapps an enum value, the valueOf() method will convert the enum to an int32. Change-Id: I0b92207184f343d53f73884245b90552165c34fc Reviewed-by: Simon Hausmann --- src/qml/jsruntime/qv4variantobject.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/qml/jsruntime/qv4variantobject.cpp') diff --git a/src/qml/jsruntime/qv4variantobject.cpp b/src/qml/jsruntime/qv4variantobject.cpp index 3e659eec5a..d08d2a0812 100644 --- a/src/qml/jsruntime/qv4variantobject.cpp +++ b/src/qml/jsruntime/qv4variantobject.cpp @@ -174,6 +174,8 @@ QV4::ReturnedValue VariantPrototype::method_valueOf(CallContext *ctx) case QVariant::Bool: return Encode(v.toBool()); default: + if (QMetaType::typeFlags(v.userType()) & QMetaType::IsEnumeration) + return Encode(v.toInt()); break; } } -- cgit v1.2.3