diff --git a/src/kits/interface/Menu.cpp b/src/kits/interface/Menu.cpp index e83bf6f1c7..b7684ef2fd 100644 --- a/src/kits/interface/Menu.cpp +++ b/src/kits/interface/Menu.cpp @@ -1305,7 +1305,19 @@ BMenu::DrawBackground(BRect update) if (IsFocus()) flags |= BControlLook::B_FOCUSED; BRect rect = Bounds(); - be_control_look->DrawMenuBackground(this, rect, update, base); + uint32 borders = BControlLook::B_LEFT_BORDER + | BControlLook::B_RIGHT_BORDER; + if (Window() != NULL && Parent() != NULL) { + if (Parent()->Frame().top == Window()->Bounds().top) + borders |= BControlLook::B_TOP_BORDER; + if (Parent()->Frame().bottom == Window()->Bounds().bottom) + borders |= BControlLook::B_BOTTOM_BORDER; + } else { + borders |= BControlLook::B_TOP_BORDER + | BControlLook::B_BOTTOM_BORDER; + } + be_control_look->DrawMenuBackground(this, rect, update, base, 0, + borders); return; } diff --git a/src/kits/interface/MenuWindow.cpp b/src/kits/interface/MenuWindow.cpp index b59a695689..b5e6306f35 100644 --- a/src/kits/interface/MenuWindow.cpp +++ b/src/kits/interface/MenuWindow.cpp @@ -303,21 +303,21 @@ BMenuWindow::AttachScrollers() if (fUpperScroller == NULL) { fUpperScroller = new UpperScroller( - BRect(0, 0, frame.right, kScrollerHeight)); + BRect(0, 0, frame.right, kScrollerHeight - 1)); AddChild(fUpperScroller); } if (fLowerScroller == NULL) { fLowerScroller = new LowerScroller( - BRect(0, frame.bottom - kScrollerHeight, - frame.right, frame.bottom)); + BRect(0, frame.bottom - kScrollerHeight + 1, frame.right, + frame.bottom)); AddChild(fLowerScroller); } fUpperScroller->SetEnabled(false); fLowerScroller->SetEnabled(true); - fMenuFrame->ResizeBy(0, -2 * kScrollerHeight - 1); + fMenuFrame->ResizeBy(0, -2 * kScrollerHeight); fMenuFrame->MoveBy(0, kScrollerHeight); fValue = 0;