On Mar 30, 2008, at 6:10 AM, Thomas Engelmeier wrote:

On 29.03.2008, at 18:54, Adam R. Maxwell wrote:

Drawing into an NSImage is explicitly documented to be thread safe in the article you linked to, and each thread has its own graphics context. The post I linked to does indicate that you might want to use [image setCacheMode:NSImageCacheNever]. If your goal is just to get an NSBitmapImageRep from a file, it's probably easier just to use +imageRepWithContentsOfFile:.

While it is documented to be thread save you might get crashes later when an NSBitmapImageRep created by drawing into from an secondary thread gets drawn itself. The crash occurs when the image tries to access an NULL (offscreen) window context (it probably was originally drawn into).

Tried to debug that on 10.5.2 (and simply worked around)...

That's interesting. Was it an NSBitmapImageRep or NSImage/ NSCachedImageRep? I didn't think a bitmap context would be associated with a window context like that. Either way it doesn't sound good, though.

--
adam


On Mar 30, 2008, at 6:10 AM, Thomas Engelmeier wrote:

On 29.03.2008, at 18:54, Adam R. Maxwell wrote:

Drawing into an NSImage is explicitly documented to be thread safe in the article you linked to, and each thread has its own graphics context. The post I linked to does indicate that you might want to use [image setCacheMode:NSImageCacheNever]. If your goal is just to get an NSBitmapImageRep from a file, it's probably easier just to use +imageRepWithContentsOfFile:.

While it is documented to be thread save you might get crashes later when an NSBitmapImageRep created by drawing into from an secondary thread gets drawn itself. The crash occurs when the image tries to access an NULL (offscreen) window context (it probably was originally drawn into).

Tried to debug that on 10.5.2 (and simply worked around)...

That's interesting. Was it an NSBitmapImageRep or NSImage/ NSCachedImageRep? I didn't think a bitmap context would be associated with a window context like that. Either way it doesn't sound good, though.

--
adam

_______________________________________________

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