From bd4431748c667987b4e6603b33d2c0dbf81abb11 Mon Sep 17 00:00:00 2001 From: dazza Date: Fri, 26 Apr 2013 18:28:10 +0100 Subject: [PATCH] Fixed memory leaks in spine-c --- spine-c/src/spine/Animation.c | 2 +- spine-c/src/spine/Atlas.c | 1 + spine-c/src/spine/Attachment.c | 1 + spine-c/src/spine/AttachmentLoader.c | 1 + spine-c/src/spine/Skeleton.c | 1 + 5 files changed, 5 insertions(+), 1 deletion(-) diff --git a/spine-c/src/spine/Animation.c b/spine-c/src/spine/Animation.c index 3ea86dd2d..06bfbd90d 100644 --- a/spine-c/src/spine/Animation.c +++ b/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); } diff --git a/spine-c/src/spine/Atlas.c b/spine-c/src/spine/Atlas.c index 947831a12..5b3059786 100644 --- a/spine-c/src/spine/Atlas.c +++ b/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); } /**/ diff --git a/spine-c/src/spine/Attachment.c b/spine-c/src/spine/Attachment.c index 331e2cbc9..d82097ed3 100644 --- a/spine-c/src/spine/Attachment.c +++ b/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 diff --git a/spine-c/src/spine/AttachmentLoader.c b/spine-c/src/spine/AttachmentLoader.c index 65e1d4e43..5b17f7cfc 100644 --- a/spine-c/src/spine/AttachmentLoader.c +++ b/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) { diff --git a/spine-c/src/spine/Skeleton.c b/spine-c/src/spine/Skeleton.c index 72ed37e39..755b22825 100644 --- a/spine-c/src/spine/Skeleton.c +++ b/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) {