summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/plugins/imageformats/webp/qwebphandler.cpp4
-rw-r--r--tests/auto/webp/tst_qwebp.cpp1
2 files changed, 5 insertions, 0 deletions
diff --git a/src/plugins/imageformats/webp/qwebphandler.cpp b/src/plugins/imageformats/webp/qwebphandler.cpp
index 0bd89f6..5a0ae4a 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;
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()