From e3da66b70651638d43fedec18db02e526b7a11e9 Mon Sep 17 00:00:00 2001 From: Pierre d'Herbemont Date: Fri, 1 Aug 2008 21:33:36 +0200 Subject: [PATCH] macosx: Fix #1802 Cursor not hidden if fullscreen controller is disabled (OS X). --- modules/gui/macosx/fspanel.m | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/modules/gui/macosx/fspanel.m b/modules/gui/macosx/fspanel.m index ae252bac01..d3ceab14d3 100644 --- a/modules/gui/macosx/fspanel.m +++ b/modules/gui/macosx/fspanel.m @@ -31,6 +31,10 @@ #import "misc.h" #import "fspanel.h" +@interface VLCFSPanel () +- (void)hideMouse; +@end + /***************************************************************************** * VLCFSPanel *****************************************************************************/ @@ -244,10 +248,23 @@ [[[[[VLCMain sharedInstance] getControls] getVoutView] window] makeKeyWindow]; } +- (void)hideMouse +{ + [NSCursor setHiddenUntilMouseMoves: YES]; +} + - (void)fadeIn { - /* in case that the user don't want us to appear, just return here */ - if(! config_GetInt( VLCIntf, "macosx-fspanel" ) || b_nonActive ) + /* in case that the user don't want us to appear, make sure we hide the mouse */ + + if( !config_GetInt( VLCIntf, "macosx-fspanel" ) ) + { + float time = (float)var_CreateGetInteger( VLCIntf, "mouse-hide-timeout" ) / 1000.; + [self setFadeTimer:[NSTimer scheduledTimerWithTimeInterval:time target:self selector:@selector(hideMouse) userInfo:nil repeats:NO]]; + return; + } + + if( b_nonActive ) return; [self orderFront: nil]; @@ -310,7 +327,7 @@ /* count down until we hide ourselfes again and do so if necessary */ if( --i_timeToKeepVisibleInSec < 1 ) { - [NSCursor setHiddenUntilMouseMoves: YES]; + [self hideMouse]; [self fadeOut]; [hideAgainTimer invalidate]; /* released in -autoHide and -dealloc */ b_alreadyCounting = NO; -- 2.39.2