From a95a728ca0043d0f16118e406f5487e88166270b Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Mon, 10 Nov 2014 12:52:01 +0100 Subject: [PATCH] Terminal: make sure window fits in screen. Fixes #8414. --- src/apps/terminal/TermWindow.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/apps/terminal/TermWindow.cpp b/src/apps/terminal/TermWindow.cpp index 461058d3b5..b5694c9d5a 100644 --- a/src/apps/terminal/TermWindow.cpp +++ b/src/apps/terminal/TermWindow.cpp @@ -223,9 +223,14 @@ TermWindow::TermWindow(const BString& title, Arguments* args) BRect frame; uint32 workspaces; if (_LoadWindowPosition(&frame, &workspaces) == B_OK) { - // apply - MoveTo(frame.LeftTop()); - ResizeTo(frame.Width(), frame.Height()); + // make sure the window is still on screen + // (for example if there was a resolution change) + if (frame.Intersects(BScreen(this).Frame())) { + MoveTo(frame.LeftTop()); + ResizeTo(frame.Width(), frame.Height()); + } else + CenterOnScreen(); + SetWorkspaces(workspaces); } else { // use computed defaults