diff --git a/spine-cpp/spine-cpp/include/spine/SpineObject.h b/spine-cpp/spine-cpp/include/spine/SpineObject.h index 7dde2b975..3767d1887 100644 --- a/spine-cpp/spine-cpp/include/spine/SpineObject.h +++ b/spine-cpp/spine-cpp/include/spine/SpineObject.h @@ -39,6 +39,8 @@ class String; class SpineObject { public: + void *operator new(size_t sz); + void *operator new(size_t sz, const char *file, int line); void *operator new(size_t sz, void *ptr); diff --git a/spine-cpp/spine-cpp/src/spine/SpineObject.cpp b/spine-cpp/spine-cpp/src/spine/SpineObject.cpp index af0b8dece..55e1616f1 100644 --- a/spine-cpp/spine-cpp/src/spine/SpineObject.cpp +++ b/spine-cpp/spine-cpp/src/spine/SpineObject.cpp @@ -37,6 +37,10 @@ using namespace spine; +void *SpineObject::operator new(size_t sz) { + return SpineExtension::calloc(sz, __FILE__, __LINE__); +} + void *SpineObject::operator new(size_t sz, const char *file, int line) { return SpineExtension::calloc(sz, file, line); } diff --git a/spine-sfml/cpp/example/main.cpp b/spine-sfml/cpp/example/main.cpp index 476bccabc..166d47628 100644 --- a/spine-sfml/cpp/example/main.cpp +++ b/spine-sfml/cpp/example/main.cpp @@ -66,14 +66,13 @@ void callback (AnimationState* state, EventType type, TrackEntry* entry, Event* } SkeletonData* readSkeletonJsonData (const String& filename, Atlas* atlas, float scale) { - SkeletonJson* json = new (__FILE__, __LINE__) SkeletonJson(atlas); - json->setScale(scale); - SkeletonData* skeletonData = json->readSkeletonDataFile(filename); + SkeletonJson json(atlas); + json.setScale(scale); + SkeletonData* skeletonData = json.readSkeletonDataFile(filename); if (!skeletonData) { - printf("%s\n", json->getError().buffer()); + printf("%s\n", json.getError().buffer()); exit(0); } - delete json; return skeletonData; } @@ -83,6 +82,7 @@ SkeletonData* readSkeletonBinaryData (const char* filename, Atlas* atlas, float SkeletonData *skeletonData = binary->readSkeletonDataFile(filename); if (!skeletonData) { printf("%s\n", binary->getError().buffer()); + delete binary; exit(0); } delete binary; diff --git a/spine-sfml/cpp/src/spine/spine-sfml.cpp b/spine-sfml/cpp/src/spine/spine-sfml.cpp index 39d372ea5..68bf67d7e 100644 --- a/spine-sfml/cpp/src/spine/spine-sfml.cpp +++ b/spine-sfml/cpp/src/spine/spine-sfml.cpp @@ -278,7 +278,7 @@ void SFMLTextureLoader::unload(void *texture) { deleteTexture(texture); } -SpineExtension *getDefaultExtension() { +/*SpineExtension *getDefaultExtension() { return new DefaultSpineExtension(); -} +}*/ }