Fixed: <rdar://problem/3936844> Mail: Messages with rich text do not print
authorcblu <cblu@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 10 Jan 2005 18:38:39 +0000 (18:38 +0000)
committercblu <cblu@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 10 Jan 2005 18:38:39 +0000 (18:38 +0000)
        Reviewed by john.

        * khtml/rendering/render_flow.cpp:
        (RenderFlow::paintLines): don't do pagination work if printRect is not set
        * khtml/rendering/render_list.cpp:
        (RenderListMarker::paint): ditto

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8330 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog-2005-08-23
WebCore/khtml/rendering/render_flow.cpp
WebCore/khtml/rendering/render_list.cpp

index 35daf655b30556d971bfa2bde5abfc1d8a8aa647..c397ad75a835347e3d7f3d86026e6476f112a776 100644 (file)
@@ -1,3 +1,14 @@
+2005-01-10  Chris Blumenberg  <cblu@apple.com>
+
+       Fixed: <rdar://problem/3936844> Mail: Messages with rich text do not print
+
+        Reviewed by john.
+
+        * khtml/rendering/render_flow.cpp:
+        (RenderFlow::paintLines): don't do pagination work if printRect is not set
+        * khtml/rendering/render_list.cpp:
+        (RenderListMarker::paint): ditto
+
 2005-01-10  David Harrison  <harrison@apple.com>
 
         Reviewed by Darin.
index 8870e58b474e1c58e69029160399943400cac28b..93ba15d3732e311f52471586687004c64af1c16e 100644 (file)
@@ -375,7 +375,8 @@ void RenderFlow::paintLines(PaintInfo& i, int _tx, int _ty)
             // It is utterly inadequate, and this should not be done at paint time at all.
             // The whole way objects break across pages needs to be redone.
             RenderCanvas* c = canvas();
-            if (_ty + curr->root()->bottomOverflow() > c->printRect().y() + c->printRect().height()) {
+            // printRect can be null if WebCore's pagination is not used (ie Mail).
+            if (!c->printRect().isNull() && _ty + curr->root()->bottomOverflow() > c->printRect().y() + c->printRect().height()) {
                 if (_ty + curr->root()->topOverflow() < c->truncatedAt())
                     c->setBestTruncatedAt(_ty + curr->root()->topOverflow(), this);
                 // Let's stop here.
index d1a3a7956c568c5d2e75fd091080f6580cde6e2b..6212097a6d781fd03e06d93f362cc145e83c43b0 100644 (file)
@@ -409,7 +409,8 @@ void RenderListMarker::paint(PaintInfo& i, int _tx, int _ty)
             return;
         
         RenderCanvas* c = canvas();
-        if (_ty + m_height + paddingBottom() + borderBottom() >= c->printRect().y() + c->printRect().height()) {
+        // printRect can be null if WebCore's pagination is not used (ie Mail).
+        if (!c->printRect().isNull() && _ty + m_height + paddingBottom() + borderBottom() >= c->printRect().y() + c->printRect().height()) {
             if (_ty < c->truncatedAt())
                 c->setBestTruncatedAt(_ty, this);
             // Let's print this on the next page.