mirror of https://github.com/axmolengine/axmol.git
closed #2361:fix a crsash caused by Set::removeAllObjects
This commit is contained in:
parent
1bd5398f91
commit
f089e62e8f
|
@ -109,15 +109,20 @@ void Set::removeObject(Object *pObject)
|
|||
|
||||
void Set::removeAllObjects()
|
||||
{
|
||||
for (SetIterator it = _set->begin(); it != _set->end(); )
|
||||
SetIterator it = _set->begin();
|
||||
SetIterator tmp;
|
||||
|
||||
while (it != _set->end())
|
||||
{
|
||||
if (!(*it))
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
(*it)->release();
|
||||
_set->erase(it++);
|
||||
tmp = it;
|
||||
++tmp;
|
||||
_set->erase(it);
|
||||
it = tmp;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue