Commit f258e9c7 authored by Pierre d'Herbemont's avatar Pierre d'Herbemont

macosx: Fix various crashes with the fspanel.

Fullscreen is working back.
parent f2f389ba
...@@ -50,8 +50,8 @@ ...@@ -50,8 +50,8 @@
[win setLevel:NSModalPanelWindowLevel]; [win setLevel:NSModalPanelWindowLevel];
i_device = 0; i_device = 0;
[win center]; [win center];
hideAgainTimer = fadeTimer = nil;
[self setNonActive:nil]; [self setNonActive:nil];
return win; return win;
} }
...@@ -94,7 +94,7 @@ ...@@ -94,7 +94,7 @@
-(void)dealloc -(void)dealloc
{ {
[[NSNotificationCenter defaultCenter] removeObserver: self]; [[NSNotificationCenter defaultCenter] removeObserver: self];
if( hideAgainTimer ) if( hideAgainTimer )
{ {
[hideAgainTimer invalidate]; [hideAgainTimer invalidate];
...@@ -249,7 +249,7 @@ ...@@ -249,7 +249,7 @@
/* in case that the user don't want us to appear, just return here */ /* in case that the user don't want us to appear, just return here */
if(! config_GetInt( VLCIntf, "macosx-fspanel" ) || b_nonActive ) if(! config_GetInt( VLCIntf, "macosx-fspanel" ) || b_nonActive )
return; return;
[self orderFront: nil]; [self orderFront: nil];
if( [self alphaValue] < 1.0 || b_displayed != YES ) if( [self alphaValue] < 1.0 || b_displayed != YES )
...@@ -285,14 +285,18 @@ ...@@ -285,14 +285,18 @@
/* get us a valid timer */ /* get us a valid timer */
if(! b_alreadyCounting ) if(! b_alreadyCounting )
{ {
i_timeToKeepVisibleInSec = config_GetInt( VLCIntf, "mouse-hide-timeout" ) / 500; i_timeToKeepVisibleInSec = var_CreateGetInteger( VLCIntf, "mouse-hide-timeout" ) / 500;
hideAgainTimer = [NSTimer scheduledTimerWithTimeInterval: 0.5 if( hideAgainTimer )
{
[hideAgainTimer invalidate];
[hideAgainTimer autorelease];
}
/* released in -autoHide and -dealloc */
hideAgainTimer = [[NSTimer scheduledTimerWithTimeInterval: 0.5
target: self target: self
selector: @selector(keepVisible:) selector: @selector(keepVisible:)
userInfo: nil userInfo: nil
repeats: YES]; repeats: YES] retain];
[hideAgainTimer fire];
[hideAgainTimer retain];
b_alreadyCounting = YES; b_alreadyCounting = YES;
} }
} }
...@@ -304,15 +308,12 @@ ...@@ -304,15 +308,12 @@
b_keptVisible = NO; b_keptVisible = NO;
/* count down until we hide ourselfes again and do so if necessary */ /* count down until we hide ourselfes again and do so if necessary */
i_timeToKeepVisibleInSec -= 1; if( --i_timeToKeepVisibleInSec < 1 )
if( i_timeToKeepVisibleInSec < 1 )
{ {
[NSCursor setHiddenUntilMouseMoves: YES]; [NSCursor setHiddenUntilMouseMoves: YES];
[self fadeOut]; [self fadeOut];
[timer invalidate]; [hideAgainTimer invalidate]; /* released in -autoHide and -dealloc */
[timer release];
b_alreadyCounting = NO; b_alreadyCounting = NO;
timer = NULL;
} }
} }
...@@ -326,7 +327,7 @@ ...@@ -326,7 +327,7 @@
{ {
[timer retain]; [timer retain];
[fadeTimer invalidate]; [fadeTimer invalidate];
[fadeTimer release]; [fadeTimer autorelease];
fadeTimer=timer; fadeTimer=timer;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment