for ( node = m_modules.GetFirst(); node; node = node->GetNext() )
{
if ( !node->GetData()->Init() )
{
// clean up already initialized modules - process in reverse order
for ( node = m_modules.GetFirst(); node; node = node->GetNext() )
{
if ( !node->GetData()->Init() )
{
// clean up already initialized modules - process in reverse order