]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Issue #2597: Fatal error when smash
authordbv <dbv@opencascade.com>
Wed, 22 Aug 2018 09:52:18 +0000 (12:52 +0300)
committerdbv <dbv@opencascade.com>
Wed, 22 Aug 2018 09:52:37 +0000 (12:52 +0300)
Updated validator for Smash arguments: features not allowed for selection.

src/FeaturesPlugin/FeaturesPlugin_Validators.cpp

index f68b801732a0a444dfeae39bbee9b786094652c2..9dfd94eaa14a7147cd3b8397f7b36c5bbddd8720 100644 (file)
@@ -1214,6 +1214,12 @@ bool FeaturesPlugin_ValidatorBooleanSmashSelection::isValid(
 
   for (int anIndex = 0; anIndex < anOtherAttrSelectionList->size(); ++anIndex) {
     AttributeSelectionPtr anAttrSelection = anOtherAttrSelectionList->value(anIndex);
+
+    if (anAttrSelection->contextFeature().get()) {
+      theError = "Error: Features not allowed for selection.";
+      return false;
+    }
+
     ResultPtr aContext = anAttrSelection->context();
     std::shared_ptr<GeomAPI_Shape> aShape = anAttrSelection->value();
     GeomShapePtr aContextShape = aContext->shape();
@@ -1242,6 +1248,12 @@ bool FeaturesPlugin_ValidatorBooleanSmashSelection::isValid(
       theError = "Error: Empty attribute selection.";
       return false;
     }
+
+    if (anAttrSelection->contextFeature().get()) {
+      theError = "Error: Features not allowed for selection.";
+      return false;
+    }
+
     ResultPtr aContext = anAttrSelection->context();
     if(!aContext.get()) {
       FeaturePtr aContFeat = anAttrSelection->contextFeature();