From 64b6b2ea458f679ec0370878b1e54b2b1822c4b1 Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Thu, 1 Jan 2015 14:38:08 +0100 Subject: cocoa: fix uninitialization while in fullscreen This is only needed for switching video track with `_`, since Cocoa automatically handles cleaning up the application's presentation options when quitting the process. Fixes #1399 --- video/out/cocoa/events_view.m | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'video/out/cocoa/events_view.m') diff --git a/video/out/cocoa/events_view.m b/video/out/cocoa/events_view.m index 8e96ac1244..2833bf2773 100644 --- a/video/out/cocoa/events_view.m +++ b/video/out/cocoa/events_view.m @@ -25,6 +25,7 @@ #include "events_view.h" @interface MpvEventsView() +@property(nonatomic, assign) BOOL clearing; @property(nonatomic, assign) BOOL hasMouseDown; @property(nonatomic, retain) NSTrackingArea *tracker; - (void)signalMousePosition; @@ -36,6 +37,7 @@ @end @implementation MpvEventsView +@synthesize clearing = _clearing; @synthesize adapter = _adapter; @synthesize tracker = _tracker; @synthesize hasMouseDown = _mouse_down; @@ -90,6 +92,12 @@ } } +- (void)clear +{ + self.clearing = YES; + [self exitFullScreenModeWithOptions:nil]; +} + // mpv uses flipped coordinates, because X11 uses those. So let's just use them // as well without having to do any coordinate conversion of mouse positions. - (BOOL)isFlipped { return YES; } @@ -177,6 +185,10 @@ - (void)setFrameSize:(NSSize)size { [super setFrameSize:size]; + + if (self.clearing) + return; + [self signalMousePosition]; } -- cgit v1.2.3