瀏覽代碼

Fixed memory leaks in spine-c

dazza 12 年之前
父節點
當前提交
bd4431748c

+ 1 - 1
spine-c/src/spine/Animation.c

@@ -474,7 +474,7 @@ void _AttachmentTimeline_dispose (Timeline* timeline) {
 	for (i = 0; i < self->framesLength; ++i)
 		FREE(self->attachmentNames[i]);
 	FREE(self->attachmentNames);
-
+    FREE(self->frames);
 	FREE(self);
 }
 

+ 1 - 0
spine-c/src/spine/Atlas.c

@@ -40,6 +40,7 @@ AtlasPage* AtlasPage_create (const char* name) {
 void AtlasPage_dispose (AtlasPage* self) {
 	FREE(self->name);
 	_AtlasPage_disposeTexture(self);
+    FREE(self);
 }
 
 /**/

+ 1 - 0
spine-c/src/spine/Attachment.c

@@ -52,6 +52,7 @@ void _Attachment_deinit (Attachment* self) {
 
 void Attachment_dispose (Attachment* self) {
 	VTABLE(Attachment, self) ->dispose(self);
+    FREE(self);
 }
 
 #ifdef __cplusplus

+ 1 - 0
spine-c/src/spine/AttachmentLoader.c

@@ -52,6 +52,7 @@ void _AttachmentLoader_deinit (AttachmentLoader* self) {
 
 void AttachmentLoader_dispose (AttachmentLoader* self) {
 	VTABLE(AttachmentLoader, self) ->dispose(self);
+    FREE(self);
 }
 
 Attachment* AttachmentLoader_newAttachment (AttachmentLoader* self, Skin* skin, AttachmentType type, const char* name) {

+ 1 - 0
spine-c/src/spine/Skeleton.c

@@ -95,6 +95,7 @@ void Skeleton_dispose (Skeleton* self) {
 	FREE(self->slots);
 
 	FREE(self->drawOrder);
+    FREE(self);
 }
 
 void Skeleton_updateWorldTransform (const Skeleton* self) {