Core Animation/Core Image Crash
Core Animation/Core Image Crash
- Subject: Core Animation/Core Image Crash
- From: Simon Haertel <email@hidden>
- Date: Fri, 30 Jan 2009 17:17:05 +0100
Hi all,
In our application we have a window with a layer-backed NSView which
has a content filter applied. The view also has a CAAnimation
attached, which alters one of the filter's parameters.
Our problem is: When we repeatedly close and re-open the window, the
application crashes. (Note that the window's isReleasedWhenClosed flag
is not set!) We broke down our setup to the following code, which
always causes a crash after opening and closing the window a few times:
@implementation MyView
- (void) drawRect: (NSRect) dirtyRect
{
[[NSColor greenColor] set];
NSRectFill( [self bounds] );
}
@end
@implementation MyController
- (void) toggleWindow: (NSWindow*) window
{
if ( [window isVisible] ) {
[window close];
} else {
[window makeKeyAndOrderFront:self];
}
[self performSelector:@selector(toggleWindow:) withObject:window
afterDelay:0.2];
}
- (void) awakeFromNib
{
NSWindow* window = [[NSWindow alloc]
initWithContentRect:NSMakeRect( 0.0, 0.0, 500.0, 300.0 )
styleMask:NSTitledWindowMask backing:NSBackingStoreBuffered
defer:NO]; // not released
[window setReleasedWhenClosed:NO];
[window center];
[[window contentView] setWantsLayer:YES];
MyView* view = [[MyView alloc] initWithFrame:NSMakeRect( 20.0,
20.0, 200.0, 100.0 )];
[[window contentView] addSubview:view];
[view release];
CIFilter* bloomFilter = [CIFilter filterWithName:@"CIBloom"];
[bloomFilter setDefaults];
[bloomFilter setName:@"bloomFilter"];
[view setContentFilters:[NSArray arrayWithObject:bloomFilter]];
CABasicAnimation* animation = [CABasicAnimation
animationWithKeyPath:@"filters.bloomFilter.inputRadius"];
animation.fromValue = [NSNumber numberWithFloat:0.0];
animation.toValue = [NSNumber numberWithFloat:10.0];
animation.repeatCount = FLT_MAX;
[[view layer] addAnimation:animation forKey:@"theAnimation"];
[self toggleWindow:window];
}
@end
We've already tried removing the filter and animation before the
window closes (by listening to the NSWindowWillCloseNotification), but
this only seems to delay the crash a bit.
Does anybody have a clue what's wrong here? Thanks in advance.
Simon Haertel
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden