* 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
This commit is contained in:
@@ -673,13 +673,12 @@ BPrintJob::_RecurseView(BView *view, BPoint origin, BPicture *picture,
|
|||||||
BView *child = view->ChildAt(0);
|
BView *child = view->ChildAt(0);
|
||||||
while (child != NULL) {
|
while (child != NULL) {
|
||||||
if ((child->Flags() & B_WILL_DRAW) && !child->IsHidden()) {
|
if ((child->Flags() & B_WILL_DRAW) && !child->IsHidden()) {
|
||||||
BRect bounds(child->Bounds());
|
BPoint leftTop(view->Bounds().LeftTop() + child->Frame().LeftTop());
|
||||||
BPoint childLeftTop = view->Bounds().LeftTop()
|
BRect printRect(rect.OffsetToCopy(rect.LeftTop() - leftTop) & child->Bounds());
|
||||||
+ (child->Frame().LeftTop() - bounds.LeftTop());
|
if (printRect.IsValid())
|
||||||
_RecurseView(child, origin + childLeftTop, picture,
|
_RecurseView(child, origin + leftTop, picture, printRect);
|
||||||
bounds & rect.OffsetToCopy(rect.LeftTop() - childLeftTop));
|
|
||||||
child = child->NextSibling();
|
|
||||||
}
|
}
|
||||||
|
child = child->NextSibling();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (view->Flags() & B_DRAW_ON_CHILDREN) {
|
if (view->Flags() & B_DRAW_ON_CHILDREN) {
|
||||||
|
|||||||
Reference in New Issue
Block a user