From e09acc38d3af64c2136ee8b6ab4f01a83492ba17 Mon Sep 17 00:00:00 2001 From: Ulf Hermann Date: Thu, 18 Feb 2021 15:46:24 +0100 Subject: QJSValue: Allow casting integers to enums You can also cast enums to integers, after all. Change-Id: I283d3dd280eeb44ba22bb45ca9be69e5358d5781 Reviewed-by: Fabian Kosmale (cherry picked from commit 453be4e6065a323e7fc0ea93fa0bee845d2020cd) Reviewed-by: Qt Cherry-pick Bot --- src/qml/jsruntime/qv4engine.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src') diff --git a/src/qml/jsruntime/qv4engine.cpp b/src/qml/jsruntime/qv4engine.cpp index 320dc15a15..21aee81985 100644 --- a/src/qml/jsruntime/qv4engine.cpp +++ b/src/qml/jsruntime/qv4engine.cpp @@ -2337,6 +2337,14 @@ bool ExecutionEngine::metaTypeFromJS(const Value &value, int type, void *data) ; } + { + const QMetaType metaType(type); + if (metaType.flags() & QMetaType::IsEnumeration) { + *reinterpret_cast(data) = value.toInt32(); + return true; + } + } + { const QQmlValueTypeWrapper *vtw = value.as(); if (vtw && vtw->typeId() == type) { -- cgit v1.2.3