[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

zecke at webkit.org zecke at webkit.org
Thu Apr 8 00:52:15 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit 590ab8e5d4a24e849464bd99b358e67b7aec20c9
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