[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.17-1283-gcf603cf
zecke at webkit.org
zecke at webkit.org
Wed Jan 6 00:12:41 UTC 2010
The following commit has been merged in the webkit-1.1 branch:
commit 940b7ef4e0e437754198b410451c95f6901d1397
Author: zecke at webkit.org <zecke at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Wed Dec 30 14:12:47 2009 +0000
[Qt] Revert "Implement ImageDecoderQt::clearFrameBufferCache()" from r52516.
https://bugs.webkit.org/show_bug.cgi?id=32121
The implementation appears to either run into an ASSERT
or leak memory at runtime as the m_buffer, m_reader may
already exist. The bug was reopened and we do have a plan now.
* platform/graphics/qt/ImageDecoderQt.cpp:
(WebCore::ImageDecoderQt::setData):
(WebCore::ImageDecoderQt::clearFrameBufferCache):
* platform/graphics/qt/ImageDecoderQt.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52657 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index fb83334..2b1421e 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,19 @@
+2009-12-30 Holger Hans Peter Freyther <zecke at selfish.org>
+
+ Rubber stamped by Simon Hausmann.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32121
+ [Qt] Revert "Implement ImageDecoderQt::clearFrameBufferCache()" from r52516.
+
+ The implementation appears to either run into an ASSERT
+ or leak memory at runtime as the m_buffer, m_reader may
+ already exist. The bug was reopened and we do have a plan now.
+
+ * platform/graphics/qt/ImageDecoderQt.cpp:
+ (WebCore::ImageDecoderQt::setData):
+ (WebCore::ImageDecoderQt::clearFrameBufferCache):
+ * platform/graphics/qt/ImageDecoderQt.h:
+
2009-12-30 Janne Koskinen <janne.p.koskinen at digia.com>
Reviewed by Simon Hausmann.
diff --git a/WebCore/platform/graphics/qt/ImageDecoderQt.cpp b/WebCore/platform/graphics/qt/ImageDecoderQt.cpp
index f120c1a..5fa76ca 100644
--- a/WebCore/platform/graphics/qt/ImageDecoderQt.cpp
+++ b/WebCore/platform/graphics/qt/ImageDecoderQt.cpp
@@ -59,8 +59,18 @@ ImageDecoderQt::~ImageDecoderQt()
delete m_buffer;
}
-void ImageDecoderQt::initializeDecoder()
+void ImageDecoderQt::setData(SharedBuffer* data, bool allDataReceived)
{
+ if (m_failed)
+ return;
+
+ // No progressive loading possible
+ if (!allDataReceived)
+ return;
+
+ // Cache our own new data.
+ ImageDecoder::setData(data, allDataReceived);
+
// We expect to be only called once with allDataReceived
ASSERT(!m_buffer);
ASSERT(!m_reader);
@@ -79,20 +89,6 @@ void ImageDecoderQt::initializeDecoder()
m_format = m_reader->format();
}
-void ImageDecoderQt::setData(SharedBuffer* data, bool allDataReceived)
-{
- if (m_failed)
- return;
-
- // No progressive loading possible
- if (!allDataReceived)
- return;
-
- // Cache our own new data.
- ImageDecoder::setData(data, allDataReceived);
- initializeDecoder();
-}
-
bool ImageDecoderQt::isSizeAvailable()
{
if (!ImageDecoder::isSizeAvailable() && m_reader)
@@ -155,20 +151,8 @@ RGBA32Buffer* ImageDecoderQt::frameBufferAtIndex(size_t index)
return &frame;
}
-void ImageDecoderQt::clearFrameBufferCache(size_t index)
+void ImageDecoderQt::clearFrameBufferCache(size_t /*index*/)
{
- if (m_frameBufferCache.isEmpty())
- return;
-
- index = qMin(index, m_frameBufferCache.size() - 1);
-
- for (int i = 0; i < index; ++i) {
- RGBA32Buffer& frame = m_frameBufferCache[i];
- frame.setStatus(RGBA32Buffer::FrameEmpty);
- frame.setDecodedImage(QImage());
- }
-
- initializeDecoder();
}
void ImageDecoderQt::internalDecodeSize()
diff --git a/WebCore/platform/graphics/qt/ImageDecoderQt.h b/WebCore/platform/graphics/qt/ImageDecoderQt.h
index 27b5115..d11b938 100644
--- a/WebCore/platform/graphics/qt/ImageDecoderQt.h
+++ b/WebCore/platform/graphics/qt/ImageDecoderQt.h
@@ -58,7 +58,6 @@ private:
ImageDecoderQt &operator=(const ImageDecoderQt&);
private:
- void initializeDecoder();
void internalDecodeSize();
void internalReadImage(size_t);
void internalHandleCurrentImage(size_t);
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list