[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

hyatt hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 06:35:49 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 8daada39f23489d5031ab2bff01b10a46b6be67c
Author: hyatt <hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Sep 2 23:35:53 2002 +0000

    	Tweak the damage rect testing to account for the fact that a child
    	layer may fall entirely outside the bounds of its parent layer.
    
            * khtml/rendering/render_layer.cpp:
            (RenderLayer::constructZTree):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1949 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2002-12-03 b/WebCore/ChangeLog-2002-12-03
index e308002..599c1c5 100644
--- a/WebCore/ChangeLog-2002-12-03
+++ b/WebCore/ChangeLog-2002-12-03
@@ -1,3 +1,11 @@
+2002-09-02  David Hyatt  <hyatt at apple.com>
+
+	Tweak the damage rect testing to account for the fact that a child
+	layer may fall entirely outside the bounds of its parent layer.
+	
+        * khtml/rendering/render_layer.cpp:
+        (RenderLayer::constructZTree):
+
 2002-08-31  Darin Adler  <darin at apple.com>
 
 	- fixed 3038336 -- repro crash in QTextDecoder trying to display UTF-16 file
diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index e308002..599c1c5 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,11 @@
+2002-09-02  David Hyatt  <hyatt at apple.com>
+
+	Tweak the damage rect testing to account for the fact that a child
+	layer may fall entirely outside the bounds of its parent layer.
+	
+        * khtml/rendering/render_layer.cpp:
+        (RenderLayer::constructZTree):
+
 2002-08-31  Darin Adler  <darin at apple.com>
 
 	- fixed 3038336 -- repro crash in QTextDecoder trying to display UTF-16 file
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index e308002..599c1c5 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,11 @@
+2002-09-02  David Hyatt  <hyatt at apple.com>
+
+	Tweak the damage rect testing to account for the fact that a child
+	layer may fall entirely outside the bounds of its parent layer.
+	
+        * khtml/rendering/render_layer.cpp:
+        (RenderLayer::constructZTree):
+
 2002-08-31  Darin Adler  <darin at apple.com>
 
 	- fixed 3038336 -- repro crash in QTextDecoder trying to display UTF-16 file
diff --git a/WebCore/khtml/rendering/render_layer.cpp b/WebCore/khtml/rendering/render_layer.cpp
index dc851b2..07424a6 100644
--- a/WebCore/khtml/rendering/render_layer.cpp
+++ b/WebCore/khtml/rendering/render_layer.cpp
@@ -128,10 +128,13 @@ RenderLayer::constructZTree(const QRect& damageRect,
     
     // Compute this layer's absolute position, so that we can compare it with our
     // damage rect and avoid repainting the layer if it falls outside that rect.
+    // If we have overhanging contents, we can't just bail, since we may need to paint
+    // our child layers (they may fall outside our bounds and therefore might still
+    // intersect the damage rect).
     int x, y;
     convertToLayerCoords(rootLayer, x, y);
     QRect layerBounds(x, y, width(), height());
-    if (!layerBounds.intersects(damageRect))
+    if (!layerBounds.intersects(damageRect) && !m_object->overhangingContents())
         return 0;
     
     // Compute our coordinates relative to the layer being painted.
@@ -153,16 +156,18 @@ RenderLayer::constructZTree(const QRect& damageRect,
         }
     }
 
-    // Now add a leaf node for ourselves.
-    RenderLayerElement* layerElt = new RenderLayerElement(this, layerBounds, x, y);
-    if (returnNode->child) {
-        RenderZTreeNode* leaf = new RenderZTreeNode(layerElt);
-        leaf->next = returnNode->child;
-        returnNode->child = leaf;
+    // Now add a leaf node for ourselves, but only if we overlap the damage rect.
+    if (layerBounds.intersects(damageRect)) {
+        RenderLayerElement* layerElt = new RenderLayerElement(this, layerBounds, x, y);
+        if (returnNode->child) {
+            RenderZTreeNode* leaf = new RenderZTreeNode(layerElt);
+            leaf->next = returnNode->child;
+            returnNode->child = leaf;
+        }
+        else
+            returnNode->layerElement = layerElt;
     }
-    else
-        returnNode->layerElement = layerElt;
-
+    
     // Now look for children that have a negative z-index.
     for (RenderLayer* child = firstChild(); child; child = child->nextSibling()) {
         if (child->zIndex() >= 0)

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list