Title: [88491] branches/safari-534-branch/Source/WebCore
Revision
88491
Author
[email protected]
Date
2011-06-09 15:30:59 -0700 (Thu, 09 Jun 2011)

Log Message

Merge r88475.

Modified Paths

Diff

Modified: branches/safari-534-branch/Source/WebCore/ChangeLog (88490 => 88491)


--- branches/safari-534-branch/Source/WebCore/ChangeLog	2011-06-09 22:23:23 UTC (rev 88490)
+++ branches/safari-534-branch/Source/WebCore/ChangeLog	2011-06-09 22:30:59 UTC (rev 88491)
@@ -1,5 +1,25 @@
 2011-06-02  Lucas Forschler  <[email protected]>
 
+    Merged 88475.
+
+    2011-06-09  Simon Fraser  <[email protected]>
+
+        Reviewed by Darin Adler.
+
+        Crashes in RenderLayerBacking::paintingGoesToWindow
+        https://bugs.webkit.org/show_bug.cgi?id=61159
+
+        Speculative fix for unreproducible crash that can occur when RenderObject::repaintUsingContainer()
+        finds a repaintContainer that is not the RenderView, but that is also not
+        composited (for unknown reasons), by checking to see if the layer is
+        compositing before using backing(). An assertion remains to try to catch
+        this in debug builds.
+
+        * rendering/RenderLayer.cpp:
+        (WebCore::RenderLayer::setBackingNeedsRepaintInRect):
+
+2011-06-02  Lucas Forschler  <[email protected]>
+
     Merged 88279.
 
     2011-06-07  Jer Noble  <[email protected]>

Modified: branches/safari-534-branch/Source/WebCore/rendering/RenderLayer.cpp (88490 => 88491)


--- branches/safari-534-branch/Source/WebCore/rendering/RenderLayer.cpp	2011-06-09 22:23:23 UTC (rev 88490)
+++ branches/safari-534-branch/Source/WebCore/rendering/RenderLayer.cpp	2011-06-09 22:30:59 UTC (rev 88491)
@@ -3948,8 +3948,10 @@
 
 void RenderLayer::setBackingNeedsRepaintInRect(const IntRect& r)
 {
+    // https://bugs.webkit.org/show_bug.cgi?id=61159 describes an unreproducible crash here,
+    // so assert but check that the layer is composited.
     ASSERT(isComposited());
-    if (backing()->paintingGoesToWindow()) {
+    if (!isComposited() || backing()->paintingGoesToWindow()) {
         // If we're trying to repaint the placeholder document layer, propagate the
         // repaint to the native view system.
         IntRect absRect(r);
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to