[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

andreas.kling at nokia.com andreas.kling at nokia.com
Wed Dec 22 16:28:38 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 26b95560a3986c0013fc7399cd771c220798baf5
Author: andreas.kling at nokia.com <andreas.kling at nokia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Nov 24 13:47:57 2010 +0000

    2010-11-24  Andreas Kling  <kling at webkit.org>
    
            Reviewed by Kenneth Rohde Christiansen.
    
            [Qt][WK2] Make deep copies of tile images
    
            We need the tile images we get from UpdateChunk::createImage() to persist,
            so we should take a copy() of them.
    
            * UIProcess/qt/TiledDrawingAreaTileQt.cpp:
            (WebKit::TiledDrawingAreaTile::updateFromChunk):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72665 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index 5443f24..3918d02 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -2,6 +2,18 @@
 
         Reviewed by Kenneth Rohde Christiansen.
 
+        [Qt][WK2] Make deep copies of tile images
+
+        We need the tile images we get from UpdateChunk::createImage() to persist,
+        so we should take a copy() of them.
+
+        * UIProcess/qt/TiledDrawingAreaTileQt.cpp:
+        (WebKit::TiledDrawingAreaTile::updateFromChunk):
+
+2010-11-24  Andreas Kling  <kling at webkit.org>
+
+        Reviewed by Kenneth Rohde Christiansen.
+
         [Qt] Fix uninitialized variable in QGraphicsWKViewPrivate
 
         Always initialize QGWKVP::m_isChangingScale in the constructor.
diff --git a/WebKit2/UIProcess/qt/TiledDrawingAreaTileQt.cpp b/WebKit2/UIProcess/qt/TiledDrawingAreaTileQt.cpp
index f4ca678..5f95d02 100644
--- a/WebKit2/UIProcess/qt/TiledDrawingAreaTileQt.cpp
+++ b/WebKit2/UIProcess/qt/TiledDrawingAreaTileQt.cpp
@@ -170,9 +170,10 @@ void TiledDrawingAreaTile::updateFromChunk(UpdateChunk* updateChunk, float)
 #ifdef TILE_DEBUG_LOG
     qDebug() << "tile updated id=" << ID() << " rect=" << QRect(updateChunkRect);
 #endif
-    if (updateChunkRect.size() == m_proxy->tileSize())
-        m_backBuffer = QPixmap::fromImage(image);
-    else {
+    if (updateChunkRect.size() == m_proxy->tileSize()) {
+        // Make a deep copy of the image since it's in shared memory.
+        m_backBuffer = QPixmap::fromImage(image.copy());
+    } else {
         if (m_backBuffer.isNull())
             m_backBuffer = m_buffer.isNull() ? QPixmap(m_proxy->tileSize()) : m_buffer;
         QPainter painter(&m_backBuffer);

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list