[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 08:22:34 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit ae4478b86acca03d3414645dd81e65a86c03cc37
Author: hyatt <hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Jan 16 23:42:06 2004 +0000

    	Fix for 3531983, fixed positioning not working for widgets.  Make sure to move widgets at paint time
    	if necessary.
    
            Reviewed by darin
    
            * khtml/rendering/render_replaced.cpp:
            (RenderWidget::paintObject):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@5920 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index ab2aa92..57977e6 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,13 @@
+2004-01-16  David Hyatt  <hyatt at apple.com>
+
+	Fix for 3531983, fixed positioning not working for widgets.  Make sure to move widgets at paint time
+	if necessary.
+	
+        Reviewed by darin
+	
+        * khtml/rendering/render_replaced.cpp:
+        (RenderWidget::paintObject):
+
 2004-01-15  David Hyatt  <hyatt at apple.com>
 
 	Fix for 3530734, many java applets don't show up.  Go ahead and just use the width/height from the style
diff --git a/WebCore/khtml/rendering/render_replaced.cpp b/WebCore/khtml/rendering/render_replaced.cpp
index a0a42ab..0cb6935 100644
--- a/WebCore/khtml/rendering/render_replaced.cpp
+++ b/WebCore/khtml/rendering/render_replaced.cpp
@@ -268,6 +268,14 @@ void RenderWidget::paintObject(QPainter *p, int x, int y, int width, int height,
         style()->visibility() != VISIBLE)
         return;
 
+    // Move the widget if necessary.  We normally move and resize widgets during layout, but sometimes
+    // widgets can move without layout occurring (most notably when you scroll a document that
+    // contains fixed positioned elements).
+    int newX = _tx + borderLeft() + paddingLeft();
+    int newY = _ty + borderTop() + paddingTop();
+    if (m_view->childX(m_widget) != newX || m_view->childY(m_widget) != newY)
+        m_widget->move(newX, newY);
+    
     // Tell the widget to paint now.  This is the only time the widget is allowed
     // to paint itself.  That way it will composite properly with z-indexed layers.
     m_widget->paint(p, QRect(x, y, width, height));

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list