From 4068f2821a9dc9280159177cf75862e3d49ff6e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Wed, 28 Dec 2016 17:43:19 +0100 Subject: [PATCH] MediaPlayer: Make sure the window is on screen. * The existing check in _ResizeWindow() was avoided when there is an initial frame to use (when launching with an audio file). --- src/apps/mediaplayer/MainWin.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/apps/mediaplayer/MainWin.cpp b/src/apps/mediaplayer/MainWin.cpp index 46727288ee..c8efaea915 100644 --- a/src/apps/mediaplayer/MainWin.cpp +++ b/src/apps/mediaplayer/MainWin.cpp @@ -1872,6 +1872,8 @@ MainWin::_ResizeWindow(int percent, bool useNoVideoWidth, bool stayOnScreen) if (!screenFrame.Contains(frame)) { // Resize the window so it doesn't extend outside the current // screen frame. + // We don't use BWindow::MoveOnScreen() in order to resize the + // window while keeping the same aspect ratio. if (frame.Width() > screenFrame.Width() || frame.Height() > screenFrame.Height()) { // too large @@ -2396,6 +2398,7 @@ MainWin::_ShowIfNeeded() if (!fHasVideo && fNoVideoFrame.IsValid()) { MoveTo(fNoVideoFrame.LeftTop()); ResizeTo(fNoVideoFrame.Width(), fNoVideoFrame.Height()); + MoveOnScreen(B_MOVE_IF_PARTIALLY_OFFSCREEN); } else if (fHasVideo && IsHidden()) CenterOnScreen();