Salome HOME
Issue #2998: Add help description for automatic creation of constraints
[modules/shaper.git] / src / XGUI / XGUI_Workshop.cpp
index affabbd4b90f656ae8cb46d65311f387ae73b843..3e552186df412c9db79d1f4484239e18c2992397 100644 (file)
@@ -1816,17 +1816,19 @@ void XGUI_Workshop::deleteObjects()
   if (!(hasResult || hasFeature || hasParameter || hasFolder))
     return;
 
-  // Remove from the list non-deletable objects: infinite constuctions which are not in history
+  // Remove from the list non-deletable objects: infinite constructions which are not in history
   bool notDelete = true;
   QObjectPtrList::iterator aIt;
   for (aIt = anObjects.begin(); aIt != anObjects.end(); aIt++) {
     ObjectPtr aObj = (*aIt);
     ResultConstructionPtr aConstr = std::dynamic_pointer_cast<ModelAPI_ResultConstruction>(aObj);
     FeaturePtr aFeature = ModelAPI_Feature::feature(aObj);
-    notDelete = (!aFeature->isInHistory()) && aConstr->isInfinite();
-    if (notDelete) {
-      anObjects.removeAll(aObj);
-      aIt--;
+    if (aFeature) {
+      notDelete = (!aFeature->isInHistory()) && aConstr->isInfinite();
+      if (notDelete) {
+        anObjects.removeAll(aObj);
+        aIt--;
+      }
     }
   }
   // delete objects
@@ -1884,6 +1886,8 @@ void XGUI_Workshop::deleteObjects()
     operationMgr()->commitOperation();
   else
     operationMgr()->abortOperation(operationMgr()->currentOperation());
+
+  myDisplayer->updateViewer();
 }
 
 //**************************************************************