X-Git-Url: http://git.ithinksw.org/ITKit.git/blobdiff_plain/956cd3a65d5db0783f21b732aba63316bfb77fbe..4ff490fc75e62c7dc772093f719e8c44903e7610:/ITWindowEffect.m diff --git a/ITWindowEffect.m b/ITWindowEffect.m index d485df5..c1bdf0e 100755 --- a/ITWindowEffect.m +++ b/ITWindowEffect.m @@ -9,10 +9,11 @@ { if ( (self = [super init]) ) { - _window = [window retain]; - _effectTime = DEFAULT_EFFECT_TIME; - _effectProgress = 0.00; - _effectTimer = nil; + _window = [window retain]; + _effectTime = DEFAULT_EFFECT_TIME; + _effectTimer = nil; + __shouldReleaseWhenIdle = NO; + __idle = YES; if ( [window conformsToProtocol:@protocol(ITWindowPositioning)] ) { // Casts so the compiler won't gripe @@ -40,7 +41,7 @@ - (void)setWindowVisibility:(ITWindowVisibilityState)visibilityState { - if ( [_window conformsToProtocol:@protocol(ITWindowVisibility)] ) { + if ( [_window conformsToProtocol:@protocol(ITWindowMotility)] ) { // Cast so the compiler won't gripe [(ITTransientStatusWindow *)_window setVisibilityState:visibilityState]; } else { @@ -78,6 +79,15 @@ NSLog(@"ITWindowEffect does not implement cancelVanish."); } +- (void)releaseWhenIdle; +{ + if ( __idle ) { + [self release]; + } else { + __shouldReleaseWhenIdle = YES; + } +} + - (void)dealloc { [_window release];