mirror of https://github.com/axmolengine/axmol.git
Merge pull request #1405 from dualface/complete_delete_ccdirector
Complete delete CCDirector after called CCDirector::purgeDirector()
This commit is contained in:
commit
936cb19684
|
@ -73,21 +73,20 @@ NS_CC_BEGIN
|
||||||
// XXX it should be a Director ivar. Move it there once support for multiple directors is added
|
// XXX it should be a Director ivar. Move it there once support for multiple directors is added
|
||||||
|
|
||||||
// singleton stuff
|
// singleton stuff
|
||||||
static CCDisplayLinkDirector s_SharedDirector;
|
static CCDisplayLinkDirector *s_SharedDirector = NULL;
|
||||||
|
|
||||||
#define kDefaultFPS 60 // 60 frames per second
|
#define kDefaultFPS 60 // 60 frames per second
|
||||||
extern const char* cocos2dVersion(void);
|
extern const char* cocos2dVersion(void);
|
||||||
|
|
||||||
CCDirector* CCDirector::sharedDirector(void)
|
CCDirector* CCDirector::sharedDirector(void)
|
||||||
{
|
{
|
||||||
static bool s_bFirstUseDirector = true;
|
if (!s_SharedDirector)
|
||||||
if (s_bFirstUseDirector)
|
|
||||||
{
|
{
|
||||||
s_bFirstUseDirector = false;
|
s_SharedDirector = new CCDisplayLinkDirector();
|
||||||
s_SharedDirector.init();
|
s_SharedDirector->init();
|
||||||
}
|
}
|
||||||
|
|
||||||
return &s_SharedDirector;
|
return s_SharedDirector;
|
||||||
}
|
}
|
||||||
|
|
||||||
CCDirector::CCDirector(void)
|
CCDirector::CCDirector(void)
|
||||||
|
@ -162,7 +161,7 @@ bool CCDirector::init(void)
|
||||||
|
|
||||||
CCDirector::~CCDirector(void)
|
CCDirector::~CCDirector(void)
|
||||||
{
|
{
|
||||||
CCLOG("cocos2d: deallocing %p", this);
|
CCLOG("cocos2d: deallocing CCDirector %p", this);
|
||||||
|
|
||||||
CC_SAFE_RELEASE(m_pFPSLabel);
|
CC_SAFE_RELEASE(m_pFPSLabel);
|
||||||
CC_SAFE_RELEASE(m_pSPFLabel);
|
CC_SAFE_RELEASE(m_pSPFLabel);
|
||||||
|
@ -185,6 +184,8 @@ CCDirector::~CCDirector(void)
|
||||||
CC_SAFE_DELETE(m_pLastUpdate);
|
CC_SAFE_DELETE(m_pLastUpdate);
|
||||||
// delete fps string
|
// delete fps string
|
||||||
delete []m_pszFPS;
|
delete []m_pszFPS;
|
||||||
|
|
||||||
|
s_SharedDirector = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CCDirector::setGLDefaultValues(void)
|
void CCDirector::setGLDefaultValues(void)
|
||||||
|
@ -640,6 +641,9 @@ void CCDirector::purgeDirector()
|
||||||
// OpenGL view
|
// OpenGL view
|
||||||
m_pobOpenGLView->end();
|
m_pobOpenGLView->end();
|
||||||
m_pobOpenGLView = NULL;
|
m_pobOpenGLView = NULL;
|
||||||
|
|
||||||
|
// delete CCDirector
|
||||||
|
release();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CCDirector::setNextScene(void)
|
void CCDirector::setNextScene(void)
|
||||||
|
|
Loading…
Reference in New Issue