We need to check whether need to free quads and delete vbo/vao in the destructor.
CCParticleSystemQuad::~CCParticleSystemQuad()
{
if (NULL == m_pBatchNode) // important
{
CC_SAFE_FREE(m_pQuads);
CC_SAFE_FREE(m_pIndices);
glDeleteBuffers(2, &m_pBuffersVBO[0]);
glDeleteVertexArrays(1, &m_uVAOname);
}
}
fixed#1136: Fixed some bugs as follows:
1. Using std::string parameter as the key of CCDictionary
2. Deep copy for CCDictionary and CCArray, the classes of elements's type must implement copyWithZone.
3. Added toBool() function to CCString.
4. Retina support for all platforms.
5. Include "CCString.h" and "cocoa/CCNS.h" in cocos2d.h.
6. Added a new constructor(CCArray::CCArray(unsigned int capacity)) for CCArray. And fixed a bug in CCArray.
7. Fixed a memory leak in CCLabelBMFont.cpp.
8. Fixed an error in strings.xml.
1. Using std::string parameter as the key of CCDictionary
2. Deep copy for CCDictionary and CCArray, the classes of elements's type must implement copyWithZone.
3. Added toBool() function to CCString.
4. Retina support for all platforms.
5. Include "CCString.h" and "cocoa/CCNS.h" in cocos2d.h.
6. Added a new constructor(CCArray::CCArray(unsigned int capacity)) for CCArray. And fixed a bug in CCArray.
7. Fixed a memory leak in CCLabelBMFont.cpp.
8. Fixed an error in strings.xml.
issue #1094: Make ParticleBatchNode works on win32 and fixed some issues as follows:
1. renamed CCPoolManager::getInstance() to CCPoolManager::sharedPoolManager(), and added CCPoolManager::purgePoolManager() method. Using pointer rather than global variable to make a singleton.
2.fixed a memory leak in CCParticleSystem.
3.init CCSprite::m_pobBatchNode at the beginning of CCSprite::initWithTexture.
4.Add CCAssert in ccArrayRemoveObjectAtIndex.
5.Use new method to allocate CCDirector.
1. init CCSprite::m_pobBatchNode at the beginning of CCSprite::initWithTexture.
2. Add CCAssert in ccArrayRemoveObjectAtIndex.
3. Use new method to allocate CCDirector.
issue #1056: Updated somethings for gles20 branch.
1. Set CC_ENABLE_GL_STATE_CACHE = 1, Updated LavaFlow.plist.
2. Made setupVBO as CCTextureAtlas's member function.
3. Updated ios project configuration.
4. Removed CCNode::arrayMakeObjectsPerformSelector, instead, we defined two macros (arrayMakeObjectsPerformSelector and arrayMakeObjectsPerformSelectorWithObject) to fit for any classes that inherit from CCNode.
issue #1056: Updated the configuration of ios and android project.
Details:
1. Fixed a bug about reorderChild in CCSpriteBatchNode.
2. Updated SpriteTest, reverted the last parameter of glDrawElement in CCTextureAtlas.cpp and CCParticleSystemQuad.cpp.
3. Updated Android.mk, fixed a bug in CCImage.h.
4. Delete some shader files in tests/Resources/ folder since they are moved into tests/Resources/shaders folder.