diff options
author | Mårten Nordheim <marten.nordheim@qt.io> | 2018-11-06 14:55:47 +0100 |
---|---|---|
committer | Mårten Nordheim <marten.nordheim@qt.io> | 2018-11-08 14:34:02 +0000 |
commit | 6fecfdc769314162d6c909c9ae0a85631964883f (patch) | |
tree | e9cedbbb0b064b4ca0ec362456af2bc2d4dff0c0 /src/qml/jsruntime/qv4variantobject.cpp | |
parent | 52519c7955b941db13a1800daf7ffaf5eeeecad2 (diff) |
Use custom debug stream operator in console.log
Fallback for string-conversion was previously using hard-coded string
template mimicing QVariant. Just use QVariant's debug stream operator
which may include data from the contained type.
Change-Id: I8243ba6b04d842a895ac3234bb54f6a4eed849f1
Fixes: QTBUG-60057
Done-With: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Diffstat (limited to 'src/qml/jsruntime/qv4variantobject.cpp')
-rw-r--r-- | src/qml/jsruntime/qv4variantobject.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/qml/jsruntime/qv4variantobject.cpp b/src/qml/jsruntime/qv4variantobject.cpp index ef0877dbd0..e4d8bcaafc 100644 --- a/src/qml/jsruntime/qv4variantobject.cpp +++ b/src/qml/jsruntime/qv4variantobject.cpp @@ -138,11 +138,14 @@ ReturnedValue VariantPrototype::method_toString(const FunctionObject *b, const V const VariantObject *o = thisObject->as<QV4::VariantObject>(); if (!o) RETURN_UNDEFINED(); - QString result = o->d()->data().toString(); - if (result.isEmpty() && !o->d()->data().canConvert(QVariant::String)) { - result = QLatin1String("QVariant(") - + QLatin1String(o->d()->data().typeName()) - + QLatin1Char(')'); + const QVariant variant = o->d()->data(); + QString result = variant.toString(); + if (result.isEmpty() && !variant.canConvert(QVariant::String)) { + QDebug dbg(&result); + dbg << variant; + // QDebug appends a space, we're not interested in continuing the stream so we chop it off. + // Can't use nospace() because it would affect the debug-stream operator of the variant. + result.chop(1); } return Encode(v4->newString(result)); } |