From 635ce04767a9e59e88f6a6fcde1f74c9ff247e98 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Tue, 19 Aug 2014 15:02:16 +0200 Subject: Fix toJsLiteral(QVariant). For QVariants of QString type, toJsLiteral(QString) must be called instead of the simplistic conversion that currently takes place. This fixes handling of backslashes and double quotes. Change-Id: I70c1ee4bc2c6b913c6f71fa644671bf33525966f Reviewed-by: Joerg Bornemann --- src/lib/corelib/tools/scripttools.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/lib/corelib') diff --git a/src/lib/corelib/tools/scripttools.cpp b/src/lib/corelib/tools/scripttools.cpp index 3ebca42a9..64cbaa7d6 100644 --- a/src/lib/corelib/tools/scripttools.cpp +++ b/src/lib/corelib/tools/scripttools.cpp @@ -111,7 +111,7 @@ QString toJSLiteral(const QVariant &val) if (val.type() == QVariant::Bool) return val.toBool() ? QLatin1String("true") : QLatin1String("false"); if (val.canConvert(QVariant::String)) - return QLatin1Char('"') + val.toString() + QLatin1Char('"'); + return toJSLiteral(val.toString()); return QString::fromLatin1("Unconvertible type %1").arg(QLatin1String(val.typeName())); } -- cgit v1.2.3