and ',' is a separator: duplicates are removed with a sequence "split, set, join" and the set let the variables in a random order.
When we have SALOME_MODULES_ORDER=SHAPER,GEOM,SMESH we can get SMESH,GEOM,SHAPER as a resulting order and the dump is wrong.
We must now write:
SALOME_MODULES_ORDER="SHAPER:GEOM:SMESH"
std::string order = getenv("SALOME_MODULES_ORDER");
std::vector<std::string> mlist;
while ( !order.empty() ) {
- size_t idx = order.find( "," );
+ size_t idx = order.find( ":" );
std::string m = order.substr(0, idx);
order = order.substr( ( idx == std::string::npos ) ? order.size() : idx+1 );
if ( m.empty() || std::find( mlist.begin(), mlist.end(), m ) != mlist.end() ) continue;