summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/plugins/imageformats/svg/qsvgiohandler.cpp8
-rw-r--r--src/svg/qsvgtinydocument.cpp4
2 files changed, 6 insertions, 6 deletions
diff --git a/src/plugins/imageformats/svg/qsvgiohandler.cpp b/src/plugins/imageformats/svg/qsvgiohandler.cpp
index a999d47..5e96d27 100644
--- a/src/plugins/imageformats/svg/qsvgiohandler.cpp
+++ b/src/plugins/imageformats/svg/qsvgiohandler.cpp
@@ -126,14 +126,14 @@ bool QSvgIOHandler::canRead() const
if (d->loaded && !d->readDone)
return true; // Will happen if we have been asked for the size
- QByteArray buf = device()->peek(8);
+ QByteArray buf = device()->peek(16);
#ifndef QT_NO_COMPRESS
if (buf.startsWith("\x1f\x8b")) {
setFormat("svgz");
return true;
} else
#endif
- if (buf.contains("<?xml") || buf.contains("<svg") || buf.contains("<!--")) {
+ if (buf.contains("<?xml") || buf.contains("<svg") || buf.contains("<!--") || buf.contains("<!DOCTYPE svg")) {
setFormat("svg");
return true;
}
@@ -267,12 +267,12 @@ bool QSvgIOHandler::supportsOption(ImageOption option) const
bool QSvgIOHandler::canRead(QIODevice *device)
{
- QByteArray buf = device->peek(8);
+ QByteArray buf = device->peek(16);
return
#ifndef QT_NO_COMPRESS
buf.startsWith("\x1f\x8b") ||
#endif
- buf.contains("<?xml") || buf.contains("<svg") || buf.contains("<!--");
+ buf.contains("<?xml") || buf.contains("<svg") || buf.contains("<!--") || buf.contains("<!DOCTYPE svg");
}
QT_END_NAMESPACE
diff --git a/src/svg/qsvgtinydocument.cpp b/src/svg/qsvgtinydocument.cpp
index da3d142..38db330 100644
--- a/src/svg/qsvgtinydocument.cpp
+++ b/src/svg/qsvgtinydocument.cpp
@@ -157,8 +157,8 @@ static QByteArray qt_inflateSvgzDataFrom(QIODevice *device, bool doCheckContent)
if (doCheckContent) {
// Quick format check, equivalent to QSvgIOHandler::canRead()
- QByteArray buf = destination.left(8);
- if (!buf.contains("<?xml") && !buf.contains("<svg") && !buf.contains("<!--")) {
+ QByteArray buf = destination.left(16);
+ if (!buf.contains("<?xml") && !buf.contains("<svg") && !buf.contains("<!--") && !buf.contains("<!DOCTYPE svg")) {
inflateEnd(&zlibStream);
qCWarning(lcSvgHandler, "Error while inflating gzip file: SVG format check failed");
return QByteArray();