X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModel%2FModel_Objects.cpp;h=18dfb85732a31f8984e4a6bbb4404ddcf0a89818;hb=d479547a9392fd9112011fbf5132744aee5e4bb2;hp=2a66adc60e466d8b716d493ae39dda1b1f8d9809;hpb=74eb49764d94736b6fe20fdde6632a6b201a0e71;p=modules%2Fshaper.git diff --git a/src/Model/Model_Objects.cpp b/src/Model/Model_Objects.cpp index 2a66adc60..18dfb8573 100644 --- a/src/Model/Model_Objects.cpp +++ b/src/Model/Model_Objects.cpp @@ -627,15 +627,17 @@ std::shared_ptr Model_Objects::objectByName( createHistory(theGroupID); if (theGroupID == ModelAPI_Feature::group()) { // searching among features (in history or not) std::list > allObjs = allFeatures(); - std::list >::iterator anObjIter = allObjs.begin(); - for(; anObjIter != allObjs.end(); anObjIter++) { + // from the end to find the latest result with such name + std::list >::reverse_iterator anObjIter = allObjs.rbegin(); + for(; anObjIter != allObjs.rend(); anObjIter++) { if ((*anObjIter)->data()->name() == theName) return *anObjIter; } } else { // searching among results (concealed or not) std::list > allObjs = allFeatures(); - std::list >::iterator anObjIter = allObjs.begin(); - for(; anObjIter != allObjs.end(); anObjIter++) { + // from the end to find the latest result with such name + std::list >::reverse_iterator anObjIter = allObjs.rbegin(); + for(; anObjIter != allObjs.rend(); anObjIter++) { std::list allRes; ModelAPI_Tools::allResults(*anObjIter, allRes); for(std::list::iterator aRes = allRes.begin(); aRes != allRes.end(); aRes++) {