]> SALOME platform Git repositories - modules/shaper.git/blobdiff - src/ModuleBase/ModuleBase_OperationFeature.cpp
Salome HOME
Optimization for the model from the issue #2659 :
[modules/shaper.git] / src / ModuleBase / ModuleBase_OperationFeature.cpp
index b7b72a47b2c91ad85888612732fff36771c0dc44..04edf79576b5a8e6df3fc796d0b954c6b096f3a9 100755 (executable)
@@ -206,13 +206,9 @@ bool ModuleBase_OperationFeature::hasObject(ObjectPtr theObj) const
   if (aFeature) {
     if (aFeature == theObj)
       return true;
-    std::list<ResultPtr> aResults;
-    ModelAPI_Tools::allResults(aFeature, aResults);
-    std::list<ResultPtr>::const_iterator aIt;
-    for (aIt = aResults.cbegin(); aIt != aResults.cend(); ++aIt) {
-      ResultPtr aResult = *aIt;
-      if (theObj == aResult)
-         return true;
+    ResultPtr anObjRes = std::dynamic_pointer_cast<ModelAPI_Result>(theObj);
+    if (anObjRes.get() && aFeature == aFeature->document()->feature(anObjRes)) {
+      return true;
     }
 #ifdef DEBUG_DO_NOT_ACTIVATE_SUB_FEATURE
     if (aFeature->isMacro()) {