mirror of https://github.com/axmolengine/axmol.git
Merge pull request #11489 from dumganhar/clean-order
[Director FIX]: Clean all schedulers and remove all eventlisteners after exiting scene
This commit is contained in:
commit
bb4e749a93
|
@ -937,16 +937,7 @@ void Director::restart()
|
|||
}
|
||||
|
||||
void Director::reset()
|
||||
{
|
||||
// cleanup scheduler
|
||||
getScheduler()->unscheduleAll();
|
||||
|
||||
// Remove all events
|
||||
if (_eventDispatcher)
|
||||
{
|
||||
_eventDispatcher->removeAllEventListeners();
|
||||
}
|
||||
|
||||
{
|
||||
if (_runningScene)
|
||||
{
|
||||
_runningScene->onExit();
|
||||
|
@ -956,6 +947,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'.
|
||||
|
|
Loading…
Reference in New Issue