diff options
-rw-r--r-- | src/plugins/imageformats/svg/qsvgiohandler.cpp | 4 | ||||
-rw-r--r-- | src/svg/doc/qtsvg.qdocconf | 2 | ||||
-rw-r--r-- | src/svg/qsvghandler.cpp | 1 | ||||
-rw-r--r-- | src/svg/svg.pro | 10 | ||||
-rw-r--r-- | tests/auto/qicon_svg/icons/triangle.svg | 12 | ||||
-rw-r--r-- | tests/auto/qicon_svg/tst_qicon_svg.cpp | 1 |
6 files changed, 22 insertions, 8 deletions
diff --git a/src/plugins/imageformats/svg/qsvgiohandler.cpp b/src/plugins/imageformats/svg/qsvgiohandler.cpp index c6d1c11..bb68fd9 100644 --- a/src/plugins/imageformats/svg/qsvgiohandler.cpp +++ b/src/plugins/imageformats/svg/qsvgiohandler.cpp @@ -128,7 +128,7 @@ bool QSvgIOHandler::canRead() const if (buf.startsWith("\x1f\x8b")) { setFormat("svgz"); return true; - } else if (buf.contains("<?xml") || buf.contains("<svg")) { + } else if (buf.contains("<?xml") || buf.contains("<svg") || buf.contains("<!--")) { setFormat("svg"); return true; } @@ -257,7 +257,7 @@ bool QSvgIOHandler::supportsOption(ImageOption option) const bool QSvgIOHandler::canRead(QIODevice *device) { QByteArray buf = device->peek(8); - return buf.startsWith("\x1f\x8b") || buf.contains("<?xml") || buf.contains("<svg"); + return buf.startsWith("\x1f\x8b") || buf.contains("<?xml") || buf.contains("<svg") || buf.contains("<!--"); } QT_END_NAMESPACE diff --git a/src/svg/doc/qtsvg.qdocconf b/src/svg/doc/qtsvg.qdocconf index 181c6a7..e8460e9 100644 --- a/src/svg/doc/qtsvg.qdocconf +++ b/src/svg/doc/qtsvg.qdocconf @@ -39,7 +39,7 @@ sourcedirs += .. \ exampledirs += ../../../examples/svg \ snippets/ -examplesinstallpath = svg +examplesinstallpath = qtsvg/svg imagedirs += images diff --git a/src/svg/qsvghandler.cpp b/src/svg/qsvghandler.cpp index ac9425d..4e78b98 100644 --- a/src/svg/qsvghandler.cpp +++ b/src/svg/qsvghandler.cpp @@ -414,6 +414,7 @@ static const char * QSvgStyleSelector_nodeString[] = { "rect", "text", "textarea", + "tspan", "use", "video" }; diff --git a/src/svg/svg.pro b/src/svg/svg.pro index f2906ce..83e76b7 100644 --- a/src/svg/svg.pro +++ b/src/svg/svg.pro @@ -46,10 +46,10 @@ wince*: { contains(QT_CONFIG, system-zlib) { if(unix|mingw): LIBS_PRIVATE += -lz - else: LIBS += zdll.lib + else { + isEmpty(ZLIB_LIBS): LIBS += zdll.lib + else: LIBS += $$ZLIB_LIBS + } } else { - git_build: \ - INCLUDEPATH += $$[QT_INSTALL_HEADERS/get]/QtZlib - else: \ - INCLUDEPATH += $$[QT_INSTALL_HEADERS/src]/QtZlib + QT_PRIVATE += zlib-private } diff --git a/tests/auto/qicon_svg/icons/triangle.svg b/tests/auto/qicon_svg/icons/triangle.svg new file mode 100644 index 0000000..e858490 --- /dev/null +++ b/tests/auto/qicon_svg/icons/triangle.svg @@ -0,0 +1,12 @@ +<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In --> +<svg version="1.1" + xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/" + x="0px" y="0px" width="39.2px" height="39.2px" viewBox="0 0 39.2 39.2" style="enable-background:new 0 0 39.2 39.2;" + xml:space="preserve"> +<style type="text/css"> + .st1{fill:#1B1E23;} +</style> +<defs> +</defs> +<polygon class="st1" points="15.3,11.3 29.2,19.6 15.3,27.9 "/> +</svg> diff --git a/tests/auto/qicon_svg/tst_qicon_svg.cpp b/tests/auto/qicon_svg/tst_qicon_svg.cpp index 45c4c4c..2271f21 100644 --- a/tests/auto/qicon_svg/tst_qicon_svg.cpp +++ b/tests/auto/qicon_svg/tst_qicon_svg.cpp @@ -55,6 +55,7 @@ void tst_QIcon_Svg::initTestCase() QFAIL("Can't find images directory!"); if (!QImageReader::supportedImageFormats().contains("svg")) QFAIL("SVG support is not available"); + QCOMPARE(QImageReader::imageFormat(prefix + "triangle.svg"), QByteArray("svg")); } void tst_QIcon_Svg::svgActualSize() |