diff options
Diffstat (limited to 'basic/source/classes/sb.cxx')
-rw-r--r-- | basic/source/classes/sb.cxx | 29 |
1 files changed, 13 insertions, 16 deletions
diff --git a/basic/source/classes/sb.cxx b/basic/source/classes/sb.cxx index 23fedab3b08b..3eebffa44d3a 100644 --- a/basic/source/classes/sb.cxx +++ b/basic/source/classes/sb.cxx @@ -1149,26 +1149,23 @@ void SbModule::implProcessModuleRunInit( ModuleInitDependencyMap& rMap, ClassMod if( pModule->pClassData != nullptr ) { std::vector< OUString >& rReqTypes = pModule->pClassData->maRequiredTypes; - if( !rReqTypes.empty() ) + for( const auto& rStr : rReqTypes ) { - for( const auto& rStr : rReqTypes ) + // Is required type a class module? + ModuleInitDependencyMap::iterator itFind = rMap.find( rStr ); + if( itFind != rMap.end() ) { - // Is required type a class module? - ModuleInitDependencyMap::iterator itFind = rMap.find( rStr ); - if( itFind != rMap.end() ) + ClassModuleRunInitItem& rParentItem = itFind->second; + if( rParentItem.m_bProcessing ) { - ClassModuleRunInitItem& rParentItem = itFind->second; - if( rParentItem.m_bProcessing ) - { - // TODO: raise error? - OSL_FAIL( "Cyclic module dependency detected" ); - continue; - } + // TODO: raise error? + OSL_FAIL( "Cyclic module dependency detected" ); + continue; + } - if( !rParentItem.m_bRunInitDone ) - { - implProcessModuleRunInit( rMap, rParentItem ); - } + if( !rParentItem.m_bRunInitDone ) + { + implProcessModuleRunInit( rMap, rParentItem ); } } } |