Title: [103760] trunk/Source/WebKit2
Revision
103760
Author
[email protected]
Date
2011-12-28 04:04:28 -0800 (Wed, 28 Dec 2011)

Log Message

[Qt][WK2] Crash in ~WebGraphicsLayer when running fast/multicol/pagination-* tests
https://bugs.webkit.org/show_bug.cgi?id=75000

Reviewed by Noam Rosenthal.

Don't adopt a tile client that belongs to a parent layer.
This is unnecessary and also unsafe because we can live
through that client.

* WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
(WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (103759 => 103760)


--- trunk/Source/WebKit2/ChangeLog	2011-12-28 09:31:41 UTC (rev 103759)
+++ trunk/Source/WebKit2/ChangeLog	2011-12-28 12:04:28 UTC (rev 103760)
@@ -1,3 +1,17 @@
+2011-12-28  Balazs Kelemen  <[email protected]>
+
+        [Qt][WK2] Crash in ~WebGraphicsLayer when running fast/multicol/pagination-* tests
+        https://bugs.webkit.org/show_bug.cgi?id=75000
+
+        Reviewed by Noam Rosenthal.
+
+        Don't adopt a tile client that belongs to a parent layer.
+        This is unnecessary and also unsafe because we can live
+        through that client.
+
+        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
+        (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
+
 2011-12-27  Dan Bernstein  <[email protected]>
 
         [mac] Stop using bootstrap_look_up2

Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.cpp (103759 => 103760)


--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.cpp	2011-12-28 09:31:41 UTC (rev 103759)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.cpp	2011-12-28 12:04:28 UTC (rev 103760)
@@ -401,8 +401,6 @@
 
 void WebGraphicsLayer::syncCompositingStateForThisLayerOnly()
 {
-    if (!m_layerTreeTileClient)
-        m_layerTreeTileClient = layerTreeTileClient();
     updateContentBuffers();
 
     if (!m_modified)
@@ -433,10 +431,12 @@
     for (size_t i = 0; i < children().size(); ++i)
         m_layerInfo.children.append(toWebLayerID(children()[i]));
 
+    WebLayerTreeTileClient* tileClient = layerTreeTileClient();
+    ASSERT(tileClient);
     if (m_layerInfo.imageIsUpdated && m_image && !m_layerInfo.imageBackingStoreID)
-        m_layerInfo.imageBackingStoreID = layerTreeTileClient()->adoptImageBackingStore(m_image.get());
+        m_layerInfo.imageBackingStoreID = tileClient->adoptImageBackingStore(m_image.get());
 
-    m_layerTreeTileClient->didSyncCompositingStateForLayer(m_layerInfo);
+    tileClient->didSyncCompositingStateForLayer(m_layerInfo);
     m_modified = false;
     m_layerInfo.imageIsUpdated = false;
     if (m_hasPendingAnimations)
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to