From a5cd1aeed00f2d832b0390f3e54abc6e7d2248fc Mon Sep 17 00:00:00 2001 From: Adi Oanca Date: Thu, 20 Oct 2005 18:49:36 +0000 Subject: [PATCH] small checkin to make the new clipping code work if one desires git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14461 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kits/interface/View.cpp | 9 +++++++-- src/kits/interface/Window.cpp | 8 ++++---- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/kits/interface/View.cpp b/src/kits/interface/View.cpp index 9446e875d1..4435bdd6a6 100644 --- a/src/kits/interface/View.cpp +++ b/src/kits/interface/View.cpp @@ -561,7 +561,11 @@ BRect BView::Bounds() const { // do we need to update our bounds? - if (!fState->IsValid(B_VIEW_FRAME_BIT) && fOwner) { + if ( +#if 1 // 0 to make the new clipping code work +!fState->IsValid(B_VIEW_FRAME_BIT) && +#endif + fOwner) { check_lock(); fOwner->fLink->StartMessage(AS_LAYER_GET_COORD); @@ -3961,7 +3965,8 @@ BView::attachView(BView *view) fOwner->fLink->Attach(_get_object_token_(view)); fOwner->fLink->AttachString(view->Name()); - fOwner->fLink->Attach(view->Frame()); + // send view's frame. the next line replaces: fOwner->fLink->Attach(view->Frame()); + fOwner->fLink->Attach(view->fBounds.OffsetToCopy(view->fParentOffset)); fOwner->fLink->Attach(view->ResizingMode()); fOwner->fLink->Attach(view->fEventMask); fOwner->fLink->Attach(view->fEventOptions); diff --git a/src/kits/interface/Window.cpp b/src/kits/interface/Window.cpp index dd69e8a949..e33a185d50 100644 --- a/src/kits/interface/Window.cpp +++ b/src/kits/interface/Window.cpp @@ -811,7 +811,7 @@ BWindow::DispatchMessage(BMessage *msg, BHandler *target) fLink->Flush(); break; } - +#if 1 // 0 to make the new clipping code work case B_VIEW_RESIZED: case B_VIEW_MOVED: { @@ -826,7 +826,7 @@ BWindow::DispatchMessage(BMessage *msg, BHandler *target) float width; float height; BView *view; - for (int32 i = 0; msg->FindInt32("_token", i, &token) >= B_OK; i++) { + for (int32 i = 0; CurrentMessage() && msg->FindInt32("_token", i, &token) >= B_OK; i++) { if (token >= 0) { msg->FindPoint("where", i, &frameLeftTop); msg->FindFloat("width", i, &width); @@ -863,7 +863,7 @@ BWindow::DispatchMessage(BMessage *msg, BHandler *target) } break; } -/* +#else case B_VIEW_MOVED: { BPoint where; @@ -896,7 +896,7 @@ BWindow::DispatchMessage(BMessage *msg, BHandler *target) break; } -*/ +#endif case _MENUS_DONE_: MenusEnded(); break;