From 9057f65cb457f74c5083415a5f44e01184aac609 Mon Sep 17 00:00:00 2001 From: eap Date: Tue, 8 Sep 2015 14:47:10 +0300 Subject: [PATCH] 23155: [CEA 1578] Sauv2med fails during the creation of groups there are several references --- src/MEDLoader/SauvMedConvertor.cxx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/MEDLoader/SauvMedConvertor.cxx b/src/MEDLoader/SauvMedConvertor.cxx index 28a54e390..dd2ba8961 100644 --- a/src/MEDLoader/SauvMedConvertor.cxx +++ b/src/MEDLoader/SauvMedConvertor.cxx @@ -3265,8 +3265,11 @@ void IntermediateMED::setGroups( ParaMEDMEM::MEDFileUMesh* mesh ) // Issue 0021311. Use case: a gibi group has references (recorded in pile 1) // and several names (pile 27) refer (pile 10) to this group. // We create a copy of this group per each named reference + std::set uniqueNames; + uniqueNames.insert( grp._name ); for ( unsigned iRef = 0 ; iRef < grp._refNames.size(); ++iRef ) - if ( !grp._refNames[ iRef ].empty() ) + if ( !grp._refNames[ iRef ].empty() && + uniqueNames.insert( grp._refNames[ iRef ]).second ) // for name uniqueness (23155) { refGroups.push_back( grp._medGroup->deepCpy() ); refGroups.back()->setName( grp._refNames[ iRef ].c_str() ); -- 2.39.2