BWindow::MoveOnScreen(): Need to use inner frame for resize.

* This caused the window to grow each time.
* This was especially noticeable at applications that store their
  size on quit, and restore it on start.
* This fixes bug #12456.
This commit is contained in:
Axel Dörfler 2015-11-21 16:08:19 +01:00
parent 5dc0eff0b0
commit 04f969a596

View File

@ -2596,7 +2596,10 @@ BWindow::MoveOnScreen(uint32 flags)
if (frame.Height() > screenFrame.Height())
frame.bottom -= frame.Height() - screenFrame.Height();
ResizeTo(frame.Width(), frame.Height());
BRect innerFrame = frame;
innerFrame.top += tabHeight;
innerFrame.InsetBy(borderWidth, borderWidth);
ResizeTo(innerFrame.Width(), innerFrame.Height());
}
if (((flags & B_MOVE_IF_PARTIALLY_OFFSCREEN) == 0