Fixed atlas leak.

This commit is contained in:
NathanSweet 2015-08-05 14:48:00 +02:00
parent 533e304503
commit 7073e262cd
2 changed files with 16 additions and 18 deletions

View File

@ -62,11 +62,6 @@ SkeletonRenderer* SkeletonRenderer::createWithFile (const char* skeletonDataFile
} }
void SkeletonRenderer::initialize () { void SkeletonRenderer::initialize () {
atlas = 0;
debugSlots = false;
debugBones = false;
timeScale = 1;
worldVertices = MALLOC(float, 1000); // Max number of vertices per mesh. worldVertices = MALLOC(float, 1000); // Max number of vertices per mesh.
batch = PolygonBatch::createWithCapacity(2000); // Max number of vertices and triangles per batch. batch = PolygonBatch::createWithCapacity(2000); // Max number of vertices and triangles per batch.
@ -86,17 +81,20 @@ void SkeletonRenderer::setSkeletonData (spSkeletonData *skeletonData, bool ownsS
this->ownsSkeletonData = ownsSkeletonData; this->ownsSkeletonData = ownsSkeletonData;
} }
SkeletonRenderer::SkeletonRenderer () { SkeletonRenderer::SkeletonRenderer ()
: atlas(0), debugSlots(false), debugBones(false), timeScale(1) {
initialize(); initialize();
} }
SkeletonRenderer::SkeletonRenderer (spSkeletonData *skeletonData, bool ownsSkeletonData) { SkeletonRenderer::SkeletonRenderer (spSkeletonData *skeletonData, bool ownsSkeletonData)
: atlas(0), debugSlots(false), debugBones(false), timeScale(1) {
initialize(); initialize();
setSkeletonData(skeletonData, ownsSkeletonData); setSkeletonData(skeletonData, ownsSkeletonData);
} }
SkeletonRenderer::SkeletonRenderer (const char* skeletonDataFile, spAtlas* atlas, float scale) { SkeletonRenderer::SkeletonRenderer (const char* skeletonDataFile, spAtlas* atlas, float scale)
: atlas(0), debugSlots(false), debugBones(false), timeScale(1) {
initialize(); initialize();
spSkeletonJson* json = spSkeletonJson_create(atlas); spSkeletonJson* json = spSkeletonJson_create(atlas);
@ -108,7 +106,8 @@ SkeletonRenderer::SkeletonRenderer (const char* skeletonDataFile, spAtlas* atlas
setSkeletonData(skeletonData, true); setSkeletonData(skeletonData, true);
} }
SkeletonRenderer::SkeletonRenderer (const char* skeletonDataFile, const char* atlasFile, float scale) { SkeletonRenderer::SkeletonRenderer (const char* skeletonDataFile, const char* atlasFile, float scale)
: atlas(0), debugSlots(false), debugBones(false), timeScale(1) {
initialize(); initialize();
atlas = spAtlas_createFromFile(atlasFile, 0); atlas = spAtlas_createFromFile(atlasFile, 0);

View File

@ -62,11 +62,6 @@ SkeletonRenderer* SkeletonRenderer::createWithFile (const std::string& skeletonD
} }
void SkeletonRenderer::initialize () { void SkeletonRenderer::initialize () {
_atlas = 0;
_debugSlots = false;
_debugBones = false;
_timeScale = 1;
_worldVertices = MALLOC(float, 1000); // Max number of vertices per mesh. _worldVertices = MALLOC(float, 1000); // Max number of vertices per mesh.
_batch = PolygonBatch::createWithCapacity(2000); // Max number of vertices and triangles per batch. _batch = PolygonBatch::createWithCapacity(2000); // Max number of vertices and triangles per batch.
@ -83,18 +78,22 @@ void SkeletonRenderer::setSkeletonData (spSkeletonData *skeletonData, bool ownsS
_ownsSkeletonData = ownsSkeletonData; _ownsSkeletonData = ownsSkeletonData;
} }
SkeletonRenderer::SkeletonRenderer () { SkeletonRenderer::SkeletonRenderer ()
: _atlas(0), _debugSlots(false), _debugBones(false), _timeScale(1) {
} }
SkeletonRenderer::SkeletonRenderer (spSkeletonData *skeletonData, bool ownsSkeletonData) { SkeletonRenderer::SkeletonRenderer (spSkeletonData *skeletonData, bool ownsSkeletonData)
: _atlas(0), _debugSlots(false), _debugBones(false), _timeScale(1) {
initWithData(skeletonData, ownsSkeletonData); initWithData(skeletonData, ownsSkeletonData);
} }
SkeletonRenderer::SkeletonRenderer (const std::string& skeletonDataFile, spAtlas* atlas, float scale) { SkeletonRenderer::SkeletonRenderer (const std::string& skeletonDataFile, spAtlas* atlas, float scale)
: _atlas(0), _debugSlots(false), _debugBones(false), _timeScale(1) {
initWithFile(skeletonDataFile, atlas, scale); initWithFile(skeletonDataFile, atlas, scale);
} }
SkeletonRenderer::SkeletonRenderer (const std::string& skeletonDataFile, const std::string& atlasFile, float scale) { SkeletonRenderer::SkeletonRenderer (const std::string& skeletonDataFile, const std::string& atlasFile, float scale)
: _atlas(0), _debugSlots(false), _debugBones(false), _timeScale(1) {
initWithFile(skeletonDataFile, atlasFile, scale); initWithFile(skeletonDataFile, atlasFile, scale);
} }