Salome HOME
Fix for the issue #2573: Wrong position of created part
[modules/shaper.git] / src / Model / Model_Objects.cpp
index f02468717f2b816ba6396c2f185ede3d5af01d4b..21120233efc24c06231694386b37440745599082 100644 (file)
@@ -576,7 +576,8 @@ ObjectPtr Model_Objects::object(TDF_Label theLabel)
           if (aSub.get()) {
             std::shared_ptr<Model_Data> aSubData = std::dynamic_pointer_cast<Model_Data>(
               aSub->data());
-            if (aSubData->label().Father().IsEqual(aSubLab.ChangeValue())) {
+            const TDF_Label& aSubLabVal = aSubLab.ChangeValue();
+            if (aSubData->label().Father().IsEqual(aSubLabVal)) {
               aCurrentResult = aSub;
               break;
             }
@@ -588,7 +589,8 @@ ObjectPtr Model_Objects::object(TDF_Label theLabel)
         const std::list<ResultPtr>& aResults = aFeature->results();
         std::list<std::shared_ptr<ModelAPI_Result> >::const_iterator aRIter = aResults.cbegin();
         for(; aRIter != aResults.cend(); aRIter++) {
-          std::shared_ptr<Model_Data> aResData = std::dynamic_pointer_cast<Model_Data>((*aRIter)->data());
+          std::shared_ptr<Model_Data> aResData =
+            std::dynamic_pointer_cast<Model_Data>((*aRIter)->data());
           if (aResData->label().Father().IsEqual(aSubLab.ChangeValue())) {
             aCurrentResult = *aRIter;
             break;