Salome HOME
Porting to OCCT 7.5.0 and minor improvements/bugfixes.
[modules/shaper.git] / src / Model / Model_Update.cpp
index 9127a9915cab6da6e7d1306a10cfc62007505ade..79751881ec6661568eb0fb4fb83bf94b6a12e0ad 100644 (file)
@@ -346,18 +346,6 @@ void Model_Update::processEvent(const std::shared_ptr<Events_Message>& theMessag
       if (anUpdated.get()) {
         if (addModified(anUpdated, FeaturePtr()))
           aSomeModified = true;
-        if (myUpdateBlocked) { // execute this feature anyway to show the current result
-          /*if (!anUpdated->isStable() && anUpdated->results().size() && (
-              anUpdated->firstResult()->groupName() == ModelAPI_ResultBody::group() ||
-              anUpdated->firstResult()->groupName() == ModelAPI_ResultPart::group())) {
-            if (aFactory->validate(anUpdated)) {
-              executeFeature(anUpdated);
-              redisplayWithResults(anUpdated, ModelAPI_StateNothing, false);
-              static Events_ID EVENT_DISP = aLoop->eventByName(EVENT_OBJECT_TO_REDISPLAY);
-              aLoop->flush(EVENT_DISP);
-            }
-          }*/
-        }
       } else {
         // process the updated result as update of features that refers to this result
         const std::set<std::shared_ptr<ModelAPI_Attribute> >&
@@ -735,7 +723,8 @@ bool Model_Update::processFeature(FeaturePtr theFeature)
     if (!isPostponedMain) {
       bool aDoExecute = true;
       if (myUpdateBlocked) {
-        if (!theFeature->isStable()) {
+        if (!theFeature->isStable() || (theFeature->getKind().size() > 6 &&
+            theFeature->getKind().substr(0, 6) == "Sketch")) { // automatic update sketch elements
           aDoExecute = true;
         } else if (theFeature->results().size()) { // execute only not persistent results features
           aDoExecute = !theFeature->isPersistentResult();