summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefano Pigozzi <stefano.pigozzi@gmail.com>2013-08-21 18:09:48 +0200
committerwm4 <wm4@nowhere>2013-08-22 21:19:20 +0200
commit2a172a98fd91d97309a4504849d9044c9c8a763f (patch)
tree6372343c3cb3bd9cf1017aa0fdc300c6311d43af
parent421eebc8f1441da7964d308df84c55bcdd84449e (diff)
downloadmpv-2a172a98fd91d97309a4504849d9044c9c8a763f.tar.bz2
mpv-2a172a98fd91d97309a4504849d9044c9c8a763f.tar.xz
cocoa_common: fix window positioning with `--geometry`
Regression since ff3b98d11c. The window positioning code relied on the visibleFrame's height without taking into account the dock's presence. Also moved the constraining code to the proper method that overrides the original NSWindow behaviour. This avoids having to check for border since the constraining is performed by Cocoa only for titled windows. Fixes #190
-rw-r--r--video/out/cocoa_common.m15
1 files changed, 5 insertions, 10 deletions
diff --git a/video/out/cocoa_common.m b/video/out/cocoa_common.m
index 94673d5e94..6a998c8631 100644
--- a/video/out/cocoa_common.m
+++ b/video/out/cocoa_common.m
@@ -762,20 +762,15 @@ int vo_cocoa_cgl_color_size(struct vo *vo)
CGFloat dx = (f.size.width - ns.width) / 2;
CGFloat dy = (f.size.height - ns.height - [self titleHeight]) / 2;
NSRect nf = NSRectFromCGRect(CGRectInset(NSRectToCGRect(f), dx, dy));
-
- struct vo *vo = self.videoOutput;
- if (!(vo && !vo->opts->border)) {
- NSRect s = [[self screen] visibleFrame];
- if (nf.origin.y + nf.size.height > s.origin.y + s.size.height)
- nf.origin.y = s.size.height - nf.size.height;
- }
-
[self setFrame:nf display:NO animate:NO];
}
-- (NSRect)constrainFrameRect:(NSRect)rect toScreen:(NSScreen *)screen
+- (NSRect)constrainFrameRect:(NSRect)nf toScreen:(NSScreen *)screen
{
- return rect;
+ NSRect s = [[self screen] visibleFrame];
+ if (nf.origin.y + nf.size.height > s.origin.y + s.size.height)
+ nf.origin.y = s.origin.y + s.size.height - nf.size.height;
+ return nf;
}
@end