diff options
| -rw-r--r-- | src/quickvectorimage/generator/qquickqmlgenerator.cpp | 13 | ||||
| -rw-r--r-- | src/quickvectorimage/generator/qsvgvisitorimpl.cpp | 2 |
2 files changed, 10 insertions, 5 deletions
diff --git a/src/quickvectorimage/generator/qquickqmlgenerator.cpp b/src/quickvectorimage/generator/qquickqmlgenerator.cpp index 734e5c8f2b..a7bafb2be5 100644 --- a/src/quickvectorimage/generator/qquickqmlgenerator.cpp +++ b/src/quickvectorimage/generator/qquickqmlgenerator.cpp @@ -19,6 +19,13 @@ QT_BEGIN_NAMESPACE +static QString sanitizeString(const QString &input) +{ + QString s = input; + s.replace(QLatin1Char('"'), QLatin1String("\\\"")); + return s; +} + QQuickQmlGenerator::QQuickQmlGenerator(const QString fileName, QQuickVectorImageGenerator::GeneratorFlags flags, const QString &outFileName) : QQuickGenerator(fileName, flags) , outputFileName(outFileName) @@ -964,10 +971,8 @@ void QQuickQmlGenerator::generateTextNode(const TextNodeInfo &info) stream() << "color: \"" << info.fillColor.defaultValue().value<QColor>().name(QColor::HexArgb) << "\""; stream() << "textFormat:" << (info.needsRichText ? "Text.RichText" : "Text.StyledText"); - QString s = info.text; - s.replace(QLatin1Char('"'), QLatin1String("\\\"")); - stream() << "text: \"" << s << "\""; - stream() << "font.family: \"" << info.font.family() << "\""; + stream() << "text: \"" << sanitizeString(info.text) << "\""; + stream() << "font.family: \"" << sanitizeString(info.font.family()) << "\""; if (info.font.pixelSize() > 0) stream() << "font.pixelSize:" << info.font.pixelSize(); else if (info.font.pointSize() > 0) diff --git a/src/quickvectorimage/generator/qsvgvisitorimpl.cpp b/src/quickvectorimage/generator/qsvgvisitorimpl.cpp index 38f8bb4369..3193bf05d4 100644 --- a/src/quickvectorimage/generator/qsvgvisitorimpl.cpp +++ b/src/quickvectorimage/generator/qsvgvisitorimpl.cpp @@ -799,7 +799,7 @@ void QSvgVisitorImpl::visitTextNode(const QSvgText *node) needsRichText = needsRichText || !styleTagContent.isEmpty(); if (!styleTagContent.isEmpty()) - text += QStringLiteral("<span style=\"%1\">").arg(styleTagContent); + text += QStringLiteral("<span style=\"%1\">").arg(styleTagContent.toHtmlEscaped()); if (font.resolveMask() & QFont::WeightResolved && font.bold()) text += QStringLiteral("<b>"); |
