]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Avoid possible problem on the document delete or close (if results contain compsolids).
authormpv <mpv@opencascade.com>
Sun, 12 Nov 2017 13:02:27 +0000 (16:02 +0300)
committermpv <mpv@opencascade.com>
Sun, 12 Nov 2017 13:02:27 +0000 (16:02 +0300)
src/Model/Model_ResultBody.cpp
src/ModelAPI/ModelAPI_Result.cpp

index f69c4d604e54126812a73a30bf46f6b497b3395e..731a520de0bb6fcff6f1d14a725b60612737cb04 100644 (file)
@@ -47,7 +47,7 @@ void Model_ResultBody::colorConfigInfo(std::string& theSection, std::string& the
 bool Model_ResultBody::setDisabled(std::shared_ptr<ModelAPI_Result> theThis, const bool theFlag)
 {
   bool aChanged = ModelAPI_ResultBody::setDisabled(theThis, theFlag);
-  if (aChanged) { // state is changed, so modifications are needed
+  if (aChanged && data()->isValid()) { // state is changed, so modifications are needed
     myBuilder->evolutionToSelection(theFlag);
   }
   return aChanged;
index 4aac574bf7b69ead9335ebb8b6a25f46892abdc9..588d138bf17cb447927b3273fed0f6fdfbeb1988 100644 (file)
@@ -44,7 +44,8 @@ bool ModelAPI_Result::setDisabled(std::shared_ptr<ModelAPI_Result> theThis, cons
 {
   if (myIsDisabled != theFlag) {
     myIsDisabled = theFlag;
-    data()->setIsDeleted(theFlag); // store it in data model (to get back on undo/redo, etc)
+    if (data()->isValid())
+      data()->setIsDeleted(theFlag); // store it in data model (to get back on undo/redo, etc)
     // this must be before "updated" message send to have history updated for OB update
     document()->updateHistory(groupName()); // to update the history cash data in the document
     // generate related events