diff options
author | Kent Hansen <khansen@trolltech.com> | 2009-08-27 10:28:21 (GMT) |
---|---|---|
committer | Kent Hansen <khansen@trolltech.com> | 2009-08-27 11:33:35 (GMT) |
commit | a5c4c8453ac68f847b1bc3b4e01f710b757e7e1b (patch) | |
tree | ef689c4d9619665b224c374d5d18816ba4484034 /src/script | |
parent | 2c18dd72d51efffa64ed54f058c64f6e4fc5c597 (diff) | |
download | Qt-a5c4c8453ac68f847b1bc3b4e01f710b757e7e1b.zip Qt-a5c4c8453ac68f847b1bc3b4e01f710b757e7e1b.tar.gz Qt-a5c4c8453ac68f847b1bc3b4e01f710b757e7e1b.tar.bz2 |
fix whacky behavior of QScriptValue::toString() for QVariant
For some types, an empty string is the correct and complete
conversion of the type. If the result is an empty string, use
QVariant::canConvert() to determine if that is indeed correct,
before falling back to the "string-conversion-not-available"
path.
Diffstat (limited to 'src/script')
-rw-r--r-- | src/script/bridge/qscriptvariant.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/script/bridge/qscriptvariant.cpp b/src/script/bridge/qscriptvariant.cpp index c4a152a..ab75a02 100644 --- a/src/script/bridge/qscriptvariant.cpp +++ b/src/script/bridge/qscriptvariant.cpp @@ -137,7 +137,7 @@ static JSC::JSValue JSC_HOST_CALL variantProtoFuncToString(JSC::ExecState *exec, JSC::JSValue value = variantProtoFuncValueOf(exec, callee, thisValue, args); if (value.isObject()) { result = v.toString(); - if (result.isEmpty()) { + if (result.isEmpty() && !v.canConvert(QVariant::String)) { result = "QVariant("; result += v.typeName(); result += ")"; |