[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:20:55 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 9bd161043644746e6e8dd2585e2d917d81091de9
Author: hyatt <hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Jan 6 20:52:18 2004 +0000

    	Fix for 3520636, infinite loop in page breaking code when printing.
    
            Reviewed by darin
    
            * khtml/rendering/render_text.cpp:
            (RenderText::paintObject):
            * kwq/WebCoreBridge.mm:
            (-[WebCoreBridge computePageRectsWithPrintWidth:printHeight:]):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@5858 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 4dfde13..ad2a619 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,14 @@
+2004-01-06  David Hyatt  <hyatt at apple.com>
+
+	Fix for 3520636, infinite loop in page breaking code when printing.
+	
+        Reviewed by darin
+
+        * khtml/rendering/render_text.cpp:
+        (RenderText::paintObject):
+        * kwq/WebCoreBridge.mm:
+        (-[WebCoreBridge computePageRectsWithPrintWidth:printHeight:]):
+
 2004-01-05  David Hyatt  <hyatt at apple.com>
 
 	Fix for 3521466, generated image content should not try to calcWidth/height when it isn't yet rooted in
diff --git a/WebCore/khtml/rendering/render_text.cpp b/WebCore/khtml/rendering/render_text.cpp
index ff3834c..bd45704 100644
--- a/WebCore/khtml/rendering/render_text.cpp
+++ b/WebCore/khtml/rendering/render_text.cpp
@@ -628,14 +628,13 @@ void RenderText::paintObject(QPainter *p, int /*x*/, int y, int /*w*/, int h,
 	    if (isPrinting)
 	    {
                 // FIXME: Need to understand what this section is doing.
-                int lh = lineHeight( false ) + paddingBottom() + borderBottom();
                 if (ty+s->m_y < y)
                 {
                    // This has been printed already we suppose.
                    continue;
                 }
 
-                if (ty+lh+s->m_y > y+h)
+                if (ty+s->m_y+s->height() > y+h)
                 {
                    RenderCanvas* canvasObj = canvas();
                    if (ty+s->m_y < canvasObj->truncatedAt())
diff --git a/WebCore/kwq/WebCoreBridge.mm b/WebCore/kwq/WebCoreBridge.mm
index 0b708e9..0fd31d1 100644
--- a/WebCore/kwq/WebCoreBridge.mm
+++ b/WebCore/kwq/WebCoreBridge.mm
@@ -493,7 +493,7 @@ static BOOL nowPrinting(WebCoreBridge *self)
     for (float i = 0; i < docHeight; i += currPageHeight) {
         float proposedBottom = kMin(docHeight, i + printHeight);
         _part->adjustPageHeight(&proposedBottom, i, proposedBottom, i);
-        currPageHeight = proposedBottom - i;
+        currPageHeight = kMin(1.0f, proposedBottom - i);
 		for (float j = 0; j < docWidth; j += printWidth) {
 			NSValue* val = [NSValue valueWithRect: NSMakeRect(j, i, printWidth, currPageHeight)];
 			[pages addObject: val];

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list