Title: [88564] trunk/Source/WebCore
Revision
88564
Author
simon.fra...@apple.com
Date
2011-06-10 14:04:28 -0700 (Fri, 10 Jun 2011)

Log Message

2011-06-10  Simon Fraser  <simon.fra...@apple.com>

        Reviewed by Dan Bernstein.

        Null-check the layer owner again when painting layers
        https://bugs.webkit.org/show_bug.cgi?id=62473

        Speculative fix for a crash that occurs when the layer's owner
        gets destroyed during painting.

        * platform/graphics/mac/WebLayer.mm:
        (drawLayerContents):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (88563 => 88564)


--- trunk/Source/WebCore/ChangeLog	2011-06-10 20:59:21 UTC (rev 88563)
+++ trunk/Source/WebCore/ChangeLog	2011-06-10 21:04:28 UTC (rev 88564)
@@ -1,3 +1,16 @@
+2011-06-10  Simon Fraser  <simon.fra...@apple.com>
+
+        Reviewed by Dan Bernstein.
+
+        Null-check the layer owner again when painting layers
+        https://bugs.webkit.org/show_bug.cgi?id=62473
+
+        Speculative fix for a crash that occurs when the layer's owner
+        gets destroyed during painting.
+
+        * platform/graphics/mac/WebLayer.mm:
+        (drawLayerContents):
+
 2011-06-08  Robert Hogan  <rob...@webkit.org>
 
         Reviewed by Andreas Kling.

Modified: trunk/Source/WebCore/platform/graphics/mac/WebLayer.mm (88563 => 88564)


--- trunk/Source/WebCore/platform/graphics/mac/WebLayer.mm	2011-06-10 20:59:21 UTC (rev 88563)
+++ trunk/Source/WebCore/platform/graphics/mac/WebLayer.mm	2011-06-10 21:04:28 UTC (rev 88564)
@@ -78,7 +78,10 @@
 
     [NSGraphicsContext restoreGraphicsState];
 
-    if (layerContents->platformCALayerShowRepaintCounter()) {
+    // Re-fetch the layer owner, since <rdar://problem/9125151> indicates that it might have been destroyed during painting.
+    layerContents = platformLayer->owner();
+    ASSERT(layerContents);
+    if (layerContents && layerContents->platformCALayerShowRepaintCounter()) {
         bool isTiledLayer = [layer isKindOfClass:[CATiledLayer class]];
 
         char text[16]; // that's a lot of repaints
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to