In your initWithFrame: method you need to retain the layer object or the autorelease pool may deallocate it. Also, where do you set the layer to a view to be displayed?

On Apr 14, 2008, at 6:26 PM, Greg Sabo wrote:

I think I'm doing those things, see below:

//Setting object as delegate for CALayer
- (id) initWithFrame:(NSRect) frame {
    if (self = [super initWithFrame: frame]) {
        animateLayer = [CALayer layer];
        [animateLayer setDelegate:self];
    }
    return self;
}

//drawing the view and setting setNeedsDisplay of CALayer to YES
- (void)drawRect:(NSRect)rect {
    [self drawBoardBackgroundInRect:rect];
//whenever this next line is not commented out, the program crashes
    //when I try to resize the window
    [animateLayer setNeedsDisplay];
}

//Implementation of drawLayer: inContext:
- (void)drawLayer:(CALayer *)theLayer
        inContext:(CGContextRef)theContext {

    CGRect theRect = CGRectMake(0.5, 0.5, 1, 1);
    CGContextSetRGBFillColor(theContext, 1, 0, 1, 1);
    CGContextFillEllipseInRect(theContext, theRect );
}

Thanks for your help, you guys are awesome!
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to