From 2f5e5494758af5a86286ccb4dae75adf753f0012 Mon Sep 17 00:00:00 2001 From: halx99 Date: Tue, 13 Sep 2016 04:28:17 -0500 Subject: [PATCH] Fix memory leak of c++ objects (#697) We used C malloc/free which can't properly destruct C++ objects. --- spine-cocos2dx/src/spine/SkeletonAnimation.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spine-cocos2dx/src/spine/SkeletonAnimation.cpp b/spine-cocos2dx/src/spine/SkeletonAnimation.cpp index 7c77559e1..913a27216 100644 --- a/spine-cocos2dx/src/spine/SkeletonAnimation.cpp +++ b/spine-cocos2dx/src/spine/SkeletonAnimation.cpp @@ -58,14 +58,14 @@ typedef struct _TrackEntryListeners { static _TrackEntryListeners* getListeners (spTrackEntry* entry) { if (!entry->rendererObject) { - entry->rendererObject = NEW(spine::_TrackEntryListeners); + entry->rendererObject = new spine::_TrackEntryListeners(); entry->listener = trackEntryCallback; } return (_TrackEntryListeners*)entry->rendererObject; } void disposeTrackEntry (spTrackEntry* entry) { - if (entry->rendererObject) FREE(entry->rendererObject); + if (entry->rendererObject) delete (spine::_TrackEntryListeners*)entry->rendererObject; _spTrackEntry_dispose(entry); }