diff --git a/spine-c/src/spine/SkeletonJson.c b/spine-c/src/spine/SkeletonJson.c index 3f426ec41..fa9170609 100644 --- a/spine-c/src/spine/SkeletonJson.c +++ b/spine-c/src/spine/SkeletonJson.c @@ -569,10 +569,11 @@ spSkeletonData* spSkeletonJson_readSkeletonData (spSkeletonJson* self, const cha CONST_CAST(char*, self->error) = 0; internal->linkedMeshCount = 0; - oldLocale = setlocale(LC_NUMERIC, NULL); + oldLocale = strdup(setlocale(LC_NUMERIC, NULL)); setlocale(LC_NUMERIC, "C"); root = Json_create(json); setlocale(LC_NUMERIC, oldLocale); + free(oldLocale); if (!root) { _spSkeletonJson_setError(self, 0, "Invalid skeleton JSON: ", Json_getError()); return 0; 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); }