Salome HOME
Issue #2948: Synchronize selection for filters controls
[modules/shaper.git] / src / ModuleBase / ModuleBase_WidgetValidated.cpp
index 7740f17f5625341aa5e72150a47fac7d6582d8af..3664c25c1d9bd4900ba01180c995eec107fcf874 100644 (file)
@@ -141,7 +141,7 @@ bool ModuleBase_WidgetValidated::isValidInFilters(const ModuleBase_ViewerPrsPtr&
           }
           else
             aValid = false;
-          aSelectAttr->setValue(ObjectPtr(), GeomShapePtr(), true);
+          //aSelectAttr->setValue(ObjectPtr(), GeomShapePtr(), true);
         }
         else {
           ResultPtr aResult = aFeature->firstResult();
@@ -200,7 +200,12 @@ bool ModuleBase_WidgetValidated::isValidInFilters(const ModuleBase_ViewerPrsPtr&
   if (!aValid) {
     // Clear attribute if it still has selection
     AttributePtr anAttr = attribute();
-    anAttr->reset();
+    std::string aType = anAttr->attributeType();
+    if (aType == ModelAPI_AttributeSelection::typeId()) {
+      AttributeSelectionPtr aSelectAttr =
+        std::dynamic_pointer_cast<ModelAPI_AttributeSelection>(anAttr);
+      aSelectAttr->removeTemporaryValues();
+    }
   }
   return aValid;
 }