]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Issue #744 - Application crash after editing a parameter used in an expression
authornds <natalia.donis@opencascade.com>
Thu, 9 Jul 2015 13:09:45 +0000 (16:09 +0300)
committernds <natalia.donis@opencascade.com>
Thu, 9 Jul 2015 13:11:19 +0000 (16:11 +0300)
Results with empty shape is not valid for the widget selector.

src/ModuleBase/ModuleBase_WidgetValidated.cpp

index a90eadac2ae53f6fdc7a57ce79bdd7f620557f34..aa774ca55286e28dc30aa9651c991e1ac03f1914 100644 (file)
@@ -70,7 +70,8 @@ bool ModuleBase_WidgetValidated::isValidInFilters(const ModuleBase_ViewerPrs& th
   // creates a selection owner on the base of object shape and the object AIS object
   if (anOwner.IsNull() && thePrs.owner().IsNull() && thePrs.object().get()) {
     ResultPtr aResult = myWorkshop->selection()->getResult(thePrs);
-    if (aResult.get()) {
+    if (aResult.get() && aResult->shape().get()) {
+      // some results have no shape, e.g. the parameter one. So, they should not be validated
       GeomShapePtr aShape = aResult->shape();
       const TopoDS_Shape aTDShape = aShape->impl<TopoDS_Shape>();
       Handle(AIS_InteractiveObject) anIO = myWorkshop->selection()->getIO(thePrs);
@@ -78,7 +79,7 @@ bool ModuleBase_WidgetValidated::isValidInFilters(const ModuleBase_ViewerPrs& th
       myPresentedObject = aResult;
     }
     else
-      aValid = false; // only results can be filtered
+      aValid = false; // only results with a shape can be filtered
   }
   // checks the owner by the AIS context activated filters
   if (!anOwner.IsNull()) {