Salome HOME
Set of fixes to avoid crashes on invalid document from issue #2147 opening.
[modules/shaper.git] / src / FeaturesPlugin / FeaturesPlugin_ValidatorTransform.cpp
index 23d0c1b6873431a38401fef41d876ae4283516d8..37ba9149fe9e80dbc9cce1ef93da35b6a656f0c3 100755 (executable)
@@ -33,7 +33,10 @@ bool FeaturesPlugin_ValidatorTransform::isValid(const AttributePtr& theAttribute
   for(int i = 0; i < aCurSelList->size() && aValid; i++) {
     std::shared_ptr<ModelAPI_AttributeSelection> aSelAttribute = aCurSelList->value(i);
     ResultPtr aResult = aSelAttribute->context();
-    if (isPartSetDocument) // PartSet document: Result Part is valid
+    if (!aResult) {
+      theError = "Invalid selection.";
+      return false;
+    } if (isPartSetDocument) // PartSet document: Result Part is valid
       aValid = aResult->groupName() == ModelAPI_ResultPart::group();
     else { // Part document: Result CompSolid is valid
       aValid = aResult->groupName() == ModelAPI_ResultBody::group();