[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:47:45 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit bcfa99b2a6601801f008d1c7f79cbef2b0909a75
Author: hyatt <hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Oct 8 19:52:08 2002 +0000

    	Fix a bug in my event handling code for layers.   This makes
    	the links on ESPN.com work again (bug 3051636).  Yay!
    
            * khtml/rendering/render_layer.cpp:
            (RenderLayer::constructZTree):
            * khtml/xml/dom_elementimpl.cpp:
            (NamedAttrMapImpl::removeNamedItem):
            * kwq/qt/qrect.h:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2274 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2002-12-03 b/WebCore/ChangeLog-2002-12-03
index 77142d8..26a6e2b 100644
--- a/WebCore/ChangeLog-2002-12-03
+++ b/WebCore/ChangeLog-2002-12-03
@@ -1,3 +1,14 @@
+2002-10-09  David Hyatt  <hyatt at apple.com>
+
+	Fix a bug in my event handling code for layers.   This makes
+	the links on ESPN.com work again (bug 3051636).  Yay!
+	
+        * khtml/rendering/render_layer.cpp:
+        (RenderLayer::constructZTree):
+        * khtml/xml/dom_elementimpl.cpp:
+        (NamedAttrMapImpl::removeNamedItem):
+        * kwq/qt/qrect.h:
+
 2002-10-07  Darin Adler  <darin at apple.com>
 
 	- fixed 3037353 -- align="middle" elements not horizontally centered
diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 77142d8..26a6e2b 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,14 @@
+2002-10-09  David Hyatt  <hyatt at apple.com>
+
+	Fix a bug in my event handling code for layers.   This makes
+	the links on ESPN.com work again (bug 3051636).  Yay!
+	
+        * khtml/rendering/render_layer.cpp:
+        (RenderLayer::constructZTree):
+        * khtml/xml/dom_elementimpl.cpp:
+        (NamedAttrMapImpl::removeNamedItem):
+        * kwq/qt/qrect.h:
+
 2002-10-07  Darin Adler  <darin at apple.com>
 
 	- fixed 3037353 -- align="middle" elements not horizontally centered
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 77142d8..26a6e2b 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,14 @@
+2002-10-09  David Hyatt  <hyatt at apple.com>
+
+	Fix a bug in my event handling code for layers.   This makes
+	the links on ESPN.com work again (bug 3051636).  Yay!
+	
+        * khtml/rendering/render_layer.cpp:
+        (RenderLayer::constructZTree):
+        * khtml/xml/dom_elementimpl.cpp:
+        (NamedAttrMapImpl::removeNamedItem):
+        * kwq/qt/qrect.h:
+
 2002-10-07  Darin Adler  <darin at apple.com>
 
 	- fixed 3037353 -- align="middle" elements not horizontally centered
diff --git a/WebCore/khtml/rendering/render_layer.cpp b/WebCore/khtml/rendering/render_layer.cpp
index 02cea13..11e8d35 100644
--- a/WebCore/khtml/rendering/render_layer.cpp
+++ b/WebCore/khtml/rendering/render_layer.cpp
@@ -272,9 +272,13 @@ RenderLayer::constructZTree(QRect damageRect,
     // with the damage rect to form a new damage rect.
     if (m_object->style()->overflow() == OHIDDEN || m_object->style()->hasClip()) {
         QRect clipRect = m_object->getClipRect(x, y);
-        if (!clipRect.intersects(damageRect))
-            return 0; // We don't overlap at all. 
-        damageRect = damageRect.intersect(clipRect);
+        if ((eventProcessing && !clipRect.contains(damageRect.x(),
+                                                  damageRect.y())) ||
+            (!eventProcessing && !clipRect.intersects(damageRect)))
+            return 0; // We don't overlap at all.
+
+	if (!eventProcessing)
+	  damageRect = damageRect.intersect(clipRect);
     }
     
     // Walk our list of child layers looking only for those layers that have a 
@@ -302,7 +306,8 @@ RenderLayer::constructZTree(QRect damageRect,
     // the HTML can be much taller than the root (because of scrolling).
     if (renderer()->isRoot() || renderer()->isHtml() || renderer()->isBody() || 
         (renderer()->isInline() && !renderer()->isReplaced()) ||
-        (eventProcessing && layerBounds.contains(x,y)) ||
+        (eventProcessing && layerBounds.contains(damageRect.x(),
+						 damageRect.y())) ||
         (!eventProcessing && layerBounds.intersects(damageRect))) {
         RenderLayerElement* layerElt = new RenderLayerElement(this, layerBounds, 
                                                               damageRect, x, y);
diff --git a/WebCore/khtml/xml/dom_elementimpl.cpp b/WebCore/khtml/xml/dom_elementimpl.cpp
index 28d3f34..e50acef 100644
--- a/WebCore/khtml/xml/dom_elementimpl.cpp
+++ b/WebCore/khtml/xml/dom_elementimpl.cpp
@@ -629,7 +629,7 @@ Node NamedAttrMapImpl::removeNamedItem ( NodeImpl::Id id, int &exceptioncode )
     if (!a) return Node();
 
     if (!a->attrImpl())  a->allocateImpl(element);
-    Node r(a->attrImpl());
+    Attr r(a->attrImpl());
     removeAttribute(id);
     return r;
 }
diff --git a/WebCore/kwq/KWQRect.h b/WebCore/kwq/KWQRect.h
index 140fa58..60b8287 100644
--- a/WebCore/kwq/KWQRect.h
+++ b/WebCore/kwq/KWQRect.h
@@ -63,8 +63,8 @@ public:
 
     bool contains(int x, int y, bool proper = false) {
         if (proper)
-            return x > xp && x < (xp + w - 1) && y > yp && y < (yp + h - 1);
-        return x >= xp && x < xp + w && y >= yp && y < yp + h;
+            return x > xp && (x < (xp + w - 1)) && y > yp && y < (yp + h - 1);
+        return x >= xp && x < (xp + w) && y >= yp && y < (yp + h);
     }
     
     inline QRect operator&(const QRect &r) const { return intersect(r); }
diff --git a/WebCore/kwq/qt/qrect.h b/WebCore/kwq/qt/qrect.h
index 140fa58..60b8287 100644
--- a/WebCore/kwq/qt/qrect.h
+++ b/WebCore/kwq/qt/qrect.h
@@ -63,8 +63,8 @@ public:
 
     bool contains(int x, int y, bool proper = false) {
         if (proper)
-            return x > xp && x < (xp + w - 1) && y > yp && y < (yp + h - 1);
-        return x >= xp && x < xp + w && y >= yp && y < yp + h;
+            return x > xp && (x < (xp + w - 1)) && y > yp && y < (yp + h - 1);
+        return x >= xp && x < (xp + w) && y >= yp && y < (yp + h);
     }
     
     inline QRect operator&(const QRect &r) const { return intersect(r); }

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list