mirror of
https://bitbucket.org/smil3y/kdelibs.git
synced 2025-02-23 18:32:49 +00:00
kimgio: warn from webp plugin about unsupported frame skips
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
parent
df1d0cb370
commit
0a43f48a5c
1 changed files with 8 additions and 1 deletions
|
@ -135,7 +135,6 @@ bool WebPHandler::read(QImage *image)
|
||||||
m_previousrect = QRectF(webpiter.x_offset, webpiter.y_offset, webpiter.width, webpiter.height);
|
m_previousrect = QRectF(webpiter.x_offset, webpiter.y_offset, webpiter.width, webpiter.height);
|
||||||
m_framepainter->drawImage(m_previousrect, frame);
|
m_framepainter->drawImage(m_previousrect, frame);
|
||||||
|
|
||||||
|
|
||||||
// bound to reasonable limits
|
// bound to reasonable limits
|
||||||
m_imagedelay = qBound(10, webpiter.duration, 10000);
|
m_imagedelay = qBound(10, webpiter.duration, 10000);
|
||||||
|
|
||||||
|
@ -262,6 +261,10 @@ void WebPHandler::setOption(QImageIOHandler::ImageOption option, const QVariant
|
||||||
|
|
||||||
bool WebPHandler::jumpToImage(int imageNumber)
|
bool WebPHandler::jumpToImage(int imageNumber)
|
||||||
{
|
{
|
||||||
|
if (imageNumber != 0 && (imageNumber < m_currentimage || (imageNumber - 1) != m_currentimage)) {
|
||||||
|
kWarning() << "Only jumping forward is supported";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
if (imageNumber == 0) {
|
if (imageNumber == 0) {
|
||||||
const qint64 devicepos = device()->pos();
|
const qint64 devicepos = device()->pos();
|
||||||
m_data = device()->readAll();
|
m_data = device()->readAll();
|
||||||
|
@ -302,6 +305,7 @@ bool WebPHandler::jumpToImage(int imageNumber)
|
||||||
kWarning() << "Could not get animation information";
|
kWarning() << "Could not get animation information";
|
||||||
m_data.clear();
|
m_data.clear();
|
||||||
WebPAnimDecoderDelete(m_webpanimdec);
|
WebPAnimDecoderDelete(m_webpanimdec);
|
||||||
|
m_webpanimdec = nullptr;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -311,6 +315,9 @@ bool WebPHandler::jumpToImage(int imageNumber)
|
||||||
m_framebuffer = QImage(webpaniminfo.canvas_width, webpaniminfo.canvas_height, QImage::Format_ARGB32_Premultiplied);
|
m_framebuffer = QImage(webpaniminfo.canvas_width, webpaniminfo.canvas_height, QImage::Format_ARGB32_Premultiplied);
|
||||||
if (Q_UNLIKELY(m_framebuffer.isNull())) {
|
if (Q_UNLIKELY(m_framebuffer.isNull())) {
|
||||||
kWarning() << "Could not create buffer image";
|
kWarning() << "Could not create buffer image";
|
||||||
|
m_data.clear();
|
||||||
|
WebPAnimDecoderDelete(m_webpanimdec);
|
||||||
|
m_webpanimdec = nullptr;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
// NOTE: have to fill, areas of frames may not be drawn
|
// NOTE: have to fill, areas of frames may not be drawn
|
||||||
|
|
Loading…
Add table
Reference in a new issue