From 15c0cece2ba5f7ef2250af1dd6bfdd2c88f805e7 Mon Sep 17 00:00:00 2001 From: Karsten Heimrich Date: Mon, 2 Jun 2008 20:21:40 +0000 Subject: [PATCH] * don't print child views with invalid rect, this makes printing e.g. from Scooby nearly the same as on R5 (still misses the gray header color) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25769 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kits/interface/PrintJob.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/kits/interface/PrintJob.cpp b/src/kits/interface/PrintJob.cpp index 310d04cfcb..28f6849b3f 100644 --- a/src/kits/interface/PrintJob.cpp +++ b/src/kits/interface/PrintJob.cpp @@ -673,13 +673,12 @@ BPrintJob::_RecurseView(BView *view, BPoint origin, BPicture *picture, BView *child = view->ChildAt(0); while (child != NULL) { if ((child->Flags() & B_WILL_DRAW) && !child->IsHidden()) { - BRect bounds(child->Bounds()); - BPoint childLeftTop = view->Bounds().LeftTop() - + (child->Frame().LeftTop() - bounds.LeftTop()); - _RecurseView(child, origin + childLeftTop, picture, - bounds & rect.OffsetToCopy(rect.LeftTop() - childLeftTop)); - child = child->NextSibling(); + BPoint leftTop(view->Bounds().LeftTop() + child->Frame().LeftTop()); + BRect printRect(rect.OffsetToCopy(rect.LeftTop() - leftTop) & child->Bounds()); + if (printRect.IsValid()) + _RecurseView(child, origin + leftTop, picture, printRect); } + child = child->NextSibling(); } if (view->Flags() & B_DRAW_ON_CHILDREN) {