summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAxel Dörfler <axeld@pinc-software.de>2016-12-28 16:43:19 (GMT)
committerAxel Dörfler <axeld@pinc-software.de>2016-12-28 16:43:19 (GMT)
commit4068f2821a9dc9280159177cf75862e3d49ff6e1 (patch)
treedb87d0ba7c178508ecad7753ed21979fdc48a75b
parent707717e8bec291f31bef0e5ccaa92de5badc6f54 (diff)
MediaPlayer: Make sure the window is on screen.hrev50794
* The existing check in _ResizeWindow() was avoided when there is an initial frame to use (when launching with an audio file).
-rw-r--r--src/apps/mediaplayer/MainWin.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/apps/mediaplayer/MainWin.cpp b/src/apps/mediaplayer/MainWin.cpp
index 4672728..c8efaea 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();