Also unbind subsystem groups in reverse order and destruct them in reverse order to be consistent.

This commit is contained in:
ehofman
2009-12-31 10:14:56 +00:00
committed by Tim Moore
parent 5e79609955
commit e8884b4ec0

View File

@@ -110,10 +110,11 @@ SGSubsystemGroup::SGSubsystemGroup ()
SGSubsystemGroup::~SGSubsystemGroup ()
{
for (unsigned int i = 0; i < _members.size(); i++)
// reverse order to prevent order dependency problems
for (unsigned int i = _members.size(); i > 0; i--)
{
_members[i]->printTimingStatistics();
delete _members[i];
_members[i-1]->printTimingStatistics();
delete _members[i-1];
}
}
@@ -382,7 +383,8 @@ SGSubsystemMgr::bind ()
void
SGSubsystemMgr::unbind ()
{
for (int i = 0; i < MAX_GROUPS; i++)
// reverse order to prevent order dependency problems
for (int i = MAX_GROUPS-1; i >= 0; i--)
_groups[i].unbind();
}