/* set to yes if we are fullscreen and all animations are over */
BOOL b_fullscreen;
NSRecursiveLock * o_animation_lock;
+
+ BOOL b_window_is_invisible;
}
- (void)controlTintChanged;
/* Make sure setVisible: returns NO */
[self orderOut:self];
+ b_window_is_invisible = YES;
}
- (void)controlTintChanged
/* Will release the lock */
[self hasEndedFullscreen];
+ /* Our window is hidden, and might be faded. We need to workaround that, so note it
+ * here */
+ b_window_is_invisible = YES;
+
CGDisplayFade( token, 0.5, kCGDisplayBlendSolidColor, kCGDisplayBlendNormal, 0, 0, 0, NO );
CGReleaseDisplayFadeReservation( token);
return;
* having a window that is faded. We can't have it fade in unless we
* animate again. */
+ if(!b_window_is_invisible)
+ {
+ /* Make sure we don't do it too much */
+ [super makeKeyAndOrderFront: sender];
+ return;
+ }
+
[super setAlphaValue:0.0f];
[super makeKeyAndOrderFront: sender];
[anim setFrameRate: 30];
[anim startAnimation];
+ b_window_is_invisible = NO;
+
/* fullscreenAnimation will be unlocked when animation ends */
}