diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2017-07-04 13:31:03 +0200 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2017-07-04 13:31:03 +0200 |
commit | 73f25d1a411ede3f78e8468999b4d362c51180d3 (patch) | |
tree | 654fa0c3840fc7d7ff92f853e1f2928eba56ffcb | |
parent | 51ab877ae95d79d47fa99c39b1be7c8a570b2339 (diff) | |
parent | 144a3535db9f95e60972d3c3b6eaceb65a604577 (diff) |
Merge remote-tracking branch 'origin/5.9' into dev
Conflicts:
.qmake.conf
Change-Id: I55c144a1d0579aa19691c44c4f8ef8bf702189cb
-rw-r--r-- | dist/changes-5.9.1 | 24 | ||||
-rw-r--r-- | src/imageformats/doc/src/qtimageformats.qdoc | 4 | ||||
-rw-r--r-- | src/plugins/imageformats/webp/qwebphandler.cpp | 8 | ||||
-rw-r--r-- | tests/auto/webp/tst_qwebp.cpp | 1 |
4 files changed, 37 insertions, 0 deletions
diff --git a/dist/changes-5.9.1 b/dist/changes-5.9.1 new file mode 100644 index 0000000..e0a6a4b --- /dev/null +++ b/dist/changes-5.9.1 @@ -0,0 +1,24 @@ +Qt 5.9.1 is a bug-fix release. It maintains both forward and backward +compatibility (source and binary) with Qt 5.9.0. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +http://doc.qt.io/qt-5/index.html + +The Qt version 5.9 series is binary compatible with the 5.8.x series. +Applications compiled for 5.8 will continue to run with 5.9. + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* Library * +**************************************************************************** + + - This release contains only minor code improvements. diff --git a/src/imageformats/doc/src/qtimageformats.qdoc b/src/imageformats/doc/src/qtimageformats.qdoc index 8852117..2fea934 100644 --- a/src/imageformats/doc/src/qtimageformats.qdoc +++ b/src/imageformats/doc/src/qtimageformats.qdoc @@ -65,6 +65,10 @@ libraries. If not found, it may fall back on using a bundled copy (in provided for manual builds only, and not used as a fallback in case system libraries are unavailable. +\note For security reasons, the Direct Draw Surface (DDS) handler is not built +by default since Qt 5.8. Users who still want this handler can build it from the +source project. + \section2 Deployment When built, the Qt Image Formats plugins are located as dynamic diff --git a/src/plugins/imageformats/webp/qwebphandler.cpp b/src/plugins/imageformats/webp/qwebphandler.cpp index 0bd89f6..ce90158 100644 --- a/src/plugins/imageformats/webp/qwebphandler.cpp +++ b/src/plugins/imageformats/webp/qwebphandler.cpp @@ -74,6 +74,10 @@ bool QWebpHandler::canRead() const if (m_scanState != ScanError) { setFormat(QByteArrayLiteral("webp")); + + if (m_features.has_animation && m_iter.frame_num >= m_frameCount) + return false; + return true; } return false; @@ -118,6 +122,8 @@ bool QWebpHandler::ensureScanned() const that->m_bgColor = QColor::fromRgba(QRgb(WebPDemuxGetI(m_demuxer, WEBP_FF_BACKGROUND_COLOR))); that->m_composited = new QImage(that->m_features.width, that->m_features.height, QImage::Format_ARGB32); + if (that->m_features.has_alpha) + that->m_composited->fill(Qt::transparent); // We do not reset device position since we have read in all data m_scanState = ScanSuccess; @@ -189,6 +195,8 @@ bool QWebpHandler::read(QImage *image) } else { // Animation QPainter painter(m_composited); + if (m_features.has_alpha && m_iter.dispose_method == WEBP_MUX_DISPOSE_BACKGROUND) + m_composited->fill(Qt::transparent); painter.drawImage(currentImageRect(), frame); *image = *m_composited; diff --git a/tests/auto/webp/tst_qwebp.cpp b/tests/auto/webp/tst_qwebp.cpp index d1d30db..ad4a376 100644 --- a/tests/auto/webp/tst_qwebp.cpp +++ b/tests/auto/webp/tst_qwebp.cpp @@ -127,6 +127,7 @@ void tst_qwebp::readAnimation() } QVERIFY(reader.read().isNull()); + QCOMPARE(reader.canRead(), !reader.supportsAnimation()); } void tst_qwebp::writeImage_data() |