aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime
diff options
context:
space:
mode:
Diffstat (limited to 'src/qml/jsruntime')
-rw-r--r--src/qml/jsruntime/qv4qobjectwrapper.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/qml/jsruntime/qv4qobjectwrapper.cpp b/src/qml/jsruntime/qv4qobjectwrapper.cpp
index 4d422a3620..d37f80ab0a 100644
--- a/src/qml/jsruntime/qv4qobjectwrapper.cpp
+++ b/src/qml/jsruntime/qv4qobjectwrapper.cpp
@@ -1468,8 +1468,11 @@ static int MatchScore(const QV4::Value &actual, int conversionType)
}
if (obj->as<QV4::QQmlValueTypeWrapper>()) {
- if (obj->engine()->toVariant(actual, -1).userType() == conversionType)
+ const QVariant v = obj->engine()->toVariant(actual, -1);
+ if (v.userType() == conversionType)
return 0;
+ else if (v.canConvert(conversionType))
+ return 5;
return 10;
} else if (conversionType == QMetaType::QJsonObject) {
return 5;