From: Pierre d'Herbemont Date: Fri, 1 Aug 2008 19:33:36 +0000 (+0200) Subject: macosx: Fix #1802 Cursor not hidden if fullscreen controller is disabled (OS X). X-Git-Tag: 0.9.0-test3~39 X-Git-Url: https://git.sesse.net/?p=vlc;a=commitdiff_plain;h=e3da66b70651638d43fedec18db02e526b7a11e9 macosx: Fix #1802 Cursor not hidden if fullscreen controller is disabled (OS X). --- 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;