Browse Source

Merge pull request #39 from executionunit/master

Fix for Memory leaks in spine-c
Nathan Sweet 12 năm trước cách đây
mục cha
commit
373651d53c

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

@@ -474,7 +474,7 @@ void _AttachmentTimeline_dispose (Timeline* timeline) {
 	for (i = 0; i < self->framesLength; ++i)
 	for (i = 0; i < self->framesLength; ++i)
 		FREE(self->attachmentNames[i]);
 		FREE(self->attachmentNames[i]);
 	FREE(self->attachmentNames);
 	FREE(self->attachmentNames);
-
+    FREE(self->frames);
 	FREE(self);
 	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) {
 void AtlasPage_dispose (AtlasPage* self) {
 	FREE(self->name);
 	FREE(self->name);
 	_AtlasPage_disposeTexture(self);
 	_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) {
 void Attachment_dispose (Attachment* self) {
 	VTABLE(Attachment, self) ->dispose(self);
 	VTABLE(Attachment, self) ->dispose(self);
+    FREE(self);
 }
 }
 
 
 #ifdef __cplusplus
 #ifdef __cplusplus

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

@@ -52,6 +52,7 @@ void _AttachmentLoader_deinit (AttachmentLoader* self) {
 
 
 void AttachmentLoader_dispose (AttachmentLoader* self) {
 void AttachmentLoader_dispose (AttachmentLoader* self) {
 	VTABLE(AttachmentLoader, self) ->dispose(self);
 	VTABLE(AttachmentLoader, self) ->dispose(self);
+    FREE(self);
 }
 }
 
 
 Attachment* AttachmentLoader_newAttachment (AttachmentLoader* self, Skin* skin, AttachmentType type, const char* name) {
 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->slots);
 
 
 	FREE(self->drawOrder);
 	FREE(self->drawOrder);
+    FREE(self);
 }
 }
 
 
 void Skeleton_updateWorldTransform (const Skeleton* self) {
 void Skeleton_updateWorldTransform (const Skeleton* self) {