• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: CIImage (TIFFRepresentation) memory leak
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: CIImage (TIFFRepresentation) memory leak


  • Subject: Re: CIImage (TIFFRepresentation) memory leak
  • From: "Gary L. Wade" <email@hidden>
  • Date: Mon, 10 Mar 2008 16:21:54 -0400

If all the code you're using is present, it looks to me like you're not releasing the object pointed at by image; the object returned by imageWithData is not an auto-released object.

>I narrowed this down by removing the filters, and the leak is still
>there. And what a leak! Everytime I draw the view the memory usage
>increases with the size of the drawn image. Yet this exact same code
>is used in the Core Image Programming Guide. So I figure it's a bug in
>Core Image. But how can I avoid it?
>
>
> - (void) drawRect:(NSRect)rect
>{
>         CIImage *image = [CIImage imageWithData:[[self image]
>TIFFRepresentation]];
>       if (image !=nil) {
>
>                 CGRect cg;
>                 CIContext *context = [[NSGraphicsContext
>currentContext] CIContext];
>                 cg = CGRectMake(NSMinX(rect), NSMinY(rect),
>NSWidth(rect), NSHeight(rect));
>                 [context drawImage:image
>                                         atPoint:cg.origin
>                                         fromRect:cg];
>
>         }
> }
>
>On Mon, Mar 10, 2008 at 5:33 PM,  <email@hidden> wrote:
>> Hi,
>>
>>  I'm applying a Core Image filter to an image in a NSImageView
>>  subclass. The drawing works fine, except it leaks memory, not sure
>>  why. This is my drawRect method. Anything wrong with it? Thanks.
>>
>>
>>  - (void) drawRect:(NSRect)rect
>>  {
>>
>>         [[self image] setFlipped:YES];
>>         CIImage *image = [CIImage imageWithData:[[self image]
>TIFFRepresentation]];
>>         if (image !=nil) {
>>                 CIFilter *filter = [CIFilter
>filterWithName:@"CIGaussianBlur"];
>>                 [filter setDefaults];
>>                 [filter setValue: image forKey: @"inputImage"];
>>                 [filter setValue: [NSNumber numberWithFloat:0.7] forKey:
>@"inputRadius"];
>>                 image = [filter valueForKey: @"outputImage"];
>>
>>                 filter = [CIFilter
>filterWithName:@"CIPerspectiveTransform"];
>>                 [filter setDefaults];
>>                 [filter setValue: image forKey: @"inputImage"];
>>                 [filter setValue:[CIVector vectorWithX:NSMinX(rect)
>Y:NSMinY(rect) +
>>  bLeft ] forKey:@"inputBottomLeft"];
>>                 [filter setValue:[CIVector vectorWithX:NSMaxX(rect)
>Y:NSMinY(rect) +
>>  bRight ] forKey:@"inputBottomRight"];
>>                 [filter setValue:[CIVector vectorWithX:NSMinX(rect)
>Y:NSMaxY(rect) +
>>  tLeft ] forKey:@"inputTopLeft"];
>>                 [filter setValue:[CIVector vectorWithX:NSMaxX(rect)
>Y:NSMaxY(rect) +
>>  tRight ] forKey:@"inputTopRight"];
>>                 image = [filter valueForKey: @"outputImage"];
>>
>>                 CGRect cg;
>>                 CIContext *context = [[NSGraphicsContext currentContext]
>CIContext];
>>                 cg = CGRectMake(NSMinX(rect), NSMinY(rect), NSWidth(rect),
>NSHeight(rect));
>>                 [context drawImage:image
>>                                         atPoint:cg.origin
>>                                         fromRect:cg];
>>
>>         }
>>  }
>>
>_______________________________________________
>
>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
_______________________________________________

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

  • Follow-Ups:
    • Re: CIImage (TIFFRepresentation) memory leak
      • From: email@hidden
    • Re: CIImage (TIFFRepresentation) memory leak
      • From: Brady Duga <email@hidden>
  • Prev by Date: Re: Stupid question: how do you show an NSWindow?
  • Next by Date: Re: Glyph Generator & hiding glyphs -> _NSBlockNumberForIndex() errors
  • Previous by thread: Re: CIImage (TIFFRepresentation) memory leak
  • Next by thread: Re: CIImage (TIFFRepresentation) memory leak
  • Index(es):
    • Date
    • Thread