On Dec 8, 2009, at 6:42 PM, David Duncan wrote: > More than likely this is a memory management problem. Specifically, you > probably aren't claiming ownership of the NSData object that you store in > your instance variable, and thus it is being deallocated out from under you.
I was under the impression that automatic garbage collection was used in Mac OS X 10.5 and over, so retaining and releasing objects was handled automatically? This is the initializer method of my Mesh class (I'm using OpenCTM library for importing triangle meshes): - (id)initWithContentsOfFile:(NSString *)path { self = [super init]; if (self) { // Create an OpenCTM context and load the mesh from disk. CTMcontext context = ctmNewContext(CTM_IMPORT); ctmLoad(context, [path UTF8String]); // Check OpenCTM errors. CTMenum error = ctmGetError(context); if (error != CTM_NONE) { NSLog(@"OpenCTM error while opening %@: %s (%d)", path, ctmErrorString(error), error); ctmFreeContext(context); [self dealloc]; return nil; } // Store the geometry arrays. _vertices = [NSData dataWithBytes:ctmGetFloatArray(context, CTM_VERTICES) length:ctmGetInteger(context, CTM_VERTEX_COUNT) * sizeof(CTMfloat[3])]; _indices = [NSData dataWithBytes:ctmGetIntegerArray(context, CTM_INDICES) length:ctmGetInteger(context, CTM_TRIANGLE_COUNT) * sizeof(CTMuint[3])]; // Calculate the bounding sphere radius. for (CTMuint i = 0; i < ctmGetInteger(context, CTM_VERTEX_COUNT) * 3; i += 3) { const CTMfloat x = ctmGetFloatArray(context, CTM_VERTICES)[i + 0]; const CTMfloat y = ctmGetFloatArray(context, CTM_VERTICES)[i + 1]; const CTMfloat z = ctmGetFloatArray(context, CTM_VERTICES)[i + 2]; _radius = MAX(sqrt(x*x + y*y + z*z), _radius); } // Release the OpenCTM context. ctmFreeContext(context); } return self; } > -- > David Duncan > Apple DTS Animation and Printing > Regards, Henri Häkkinen _______________________________________________ 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 arch...@mail-archive.com