mirror of https://github.com/axmolengine/axmol.git
[Director FIX]: Clean all scheduler and remove all eventlisteners after exiting scene
This commit is contained in:
parent
425b2b62e1
commit
6864a4a7bb
|
@ -938,15 +938,6 @@ void Director::restart()
|
|||
|
||||
void Director::reset()
|
||||
{
|
||||
// cleanup scheduler
|
||||
getScheduler()->unscheduleAll();
|
||||
|
||||
// Remove all events
|
||||
if (_eventDispatcher)
|
||||
{
|
||||
_eventDispatcher->removeAllEventListeners();
|
||||
}
|
||||
|
||||
if (_runningScene)
|
||||
{
|
||||
_runningScene->onExit();
|
||||
|
@ -957,6 +948,15 @@ void Director::reset()
|
|||
_runningScene = nullptr;
|
||||
_nextScene = nullptr;
|
||||
|
||||
// cleanup scheduler
|
||||
getScheduler()->unscheduleAll();
|
||||
|
||||
// Remove all events
|
||||
if (_eventDispatcher)
|
||||
{
|
||||
_eventDispatcher->removeAllEventListeners();
|
||||
}
|
||||
|
||||
// remove all objects, but don't release it.
|
||||
// runWithScene might be executed after 'end'.
|
||||
_scenesStack.clear();
|
||||
|
|
Loading…
Reference in New Issue