vlc/vlc-2.2 | branch: master | Felix Paul Kühne <fkue...@videolan.org> | Wed Oct 1 13:50:25 2014 +0200| [37a84eb2190fb5df56095ce400ab46dbae2b93b6] | committer: Felix Paul Kühne
macosx: correctly hide the fspanel if app resigns active state (close #12277) awakeFromNib is no longer called on fspanel (as there is no nib anymore), so don't rely on it (cherry picked from commit 51d5f1efb0e77d254d3754c6cf5f6a9856365c52) > http://git.videolan.org/gitweb.cgi/vlc/vlc-2.2.git/?a=commit;h=37a84eb2190fb5df56095ce400ab46dbae2b93b6 --- modules/gui/macosx/fspanel.h | 1 - modules/gui/macosx/fspanel.m | 26 ++++++++++++++------------ 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/modules/gui/macosx/fspanel.h b/modules/gui/macosx/fspanel.h index 636432c..614dfff 100644 --- a/modules/gui/macosx/fspanel.h +++ b/modules/gui/macosx/fspanel.h @@ -45,7 +45,6 @@ styleMask: (NSUInteger)aStyle backing: (NSBackingStoreType)bufferingType defer: (BOOL)flag; -- (void)awakeFromNib; - (BOOL)canBecomeKeyWindow; - (void)dealloc; diff --git a/modules/gui/macosx/fspanel.m b/modules/gui/macosx/fspanel.m index fad739c..41ab7a9 100644 --- a/modules/gui/macosx/fspanel.m +++ b/modules/gui/macosx/fspanel.m @@ -48,6 +48,10 @@ defer:(BOOL)flag { id win = [super initWithContentRect:contentRect styleMask:NSTexturedBackgroundWindowMask backing:bufferingType defer:flag]; + + if (!win) + return win; + self.contentView = [[VLCFSPanelView alloc] initWithFrame:contentRect]; [win setOpaque:NO]; [win setHasShadow: NO]; @@ -61,11 +65,7 @@ hideAgainTimer = fadeTimer = nil; [self setFrameAutosaveName:@"fspanel"]; [self setNonActive:nil]; - return win; -} -- (void)awakeFromNib -{ [self setContentView:[[VLCFSPanelView alloc] initWithFrame: [self frame]]]; BOOL isInside = (NSPointInRect([NSEvent mouseLocation],[self frame])); [[self contentView] addTrackingRect:[[self contentView] bounds] owner:self userData:nil assumeInside:isInside]; @@ -79,18 +79,20 @@ /* get a notification if VLC isn't the active app anymore */ [[NSNotificationCenter defaultCenter] - addObserver: self - selector: @selector(setNonActive:) - name: NSApplicationDidResignActiveNotification - object: NSApp]; + addObserver: self + selector: @selector(setNonActive:) + name: NSApplicationDidResignActiveNotification + object: NSApp]; /* Get a notification if VLC is the active app again. Needed as becomeKeyWindow does not get called when window is activated by clicking */ [[NSNotificationCenter defaultCenter] - addObserver: self - selector: @selector(setActive:) - name: NSApplicationDidBecomeActiveNotification - object: NSApp]; + addObserver: self + selector: @selector(setActive:) + name: NSApplicationDidBecomeActiveNotification + object: NSApp]; + + return win; } /* make sure that we don't become key, since we can't handle hotkeys */ _______________________________________________ vlc-commits mailing list vlc-commits@videolan.org https://mailman.videolan.org/listinfo/vlc-commits