Salome HOME
The sketch solver error should be checked after nested sketch operation check.
authornds <nds@opencascade.com>
Wed, 18 Nov 2015 12:24:27 +0000 (15:24 +0300)
committernds <nds@opencascade.com>
Wed, 18 Nov 2015 12:24:27 +0000 (15:24 +0300)
The sketch operation should not be committed

src/PartSet/PartSet_SketcherReetntrantMgr.cpp

index 5e45abfee7253fc32f55e81d05e6249d43b70d1c..5239265c75d5c0a0e6559bf5dcd4cf07d6f8a372 100755 (executable)
@@ -181,18 +181,17 @@ void PartSet_SketcherReetntrantMgr::onNoMoreWidgets(const std::string& thePrevio
   if (!myWorkshop->module()->getFeatureError(aFOperation->feature()).isEmpty())
     return;
 
-  bool isStarted = false;
-  bool isSketchSolverError = module()->sketchMgr()->sketchSolverError();
-  if (!isSketchSolverError &&
-      aFOperation && PartSet_SketcherMgr::isNestedSketchOperation(aFOperation)) {
-    if (myRestartingMode != RM_Forbided) {
-      myRestartingMode = RM_LastFeatureUsed;
-      isStarted = startInternalEdit(thePreviousAttributeID);
+  if (aFOperation && PartSet_SketcherMgr::isNestedSketchOperation(aFOperation)) {
+    bool isStarted = false;
+    if (!module()->sketchMgr()->sketchSolverError()) {
+      if (myRestartingMode != RM_Forbided) {
+        myRestartingMode = RM_LastFeatureUsed;
+        isStarted = startInternalEdit(thePreviousAttributeID);
+      }
     }
+    if (!isStarted)
+      aFOperation->commit();
   }
-
-  if (!isStarted)
-    aFOperation->commit();
 }
 
 bool PartSet_SketcherReetntrantMgr::processEnter(const std::string& thePreviousAttributeID)