Salome HOME
Merge branch 'master' of newgeom:newgeom.git
[modules/shaper.git] / src / ModuleBase / ModuleBase_Operation.cpp
index 5ffb8b760b196be178ffa85d5f5cba7064ff2eb0..a28d62d88e7dcc089b03b95b41beaf2412c84254 100644 (file)
@@ -252,6 +252,7 @@ bool ModuleBase_Operation::activateByPreselection()
   ModuleBase_ViewerPrs aPrs;
   QList<ModuleBase_ModelWidget*>::const_iterator aWIt;
   QList<ModuleBase_ViewerPrs>::const_iterator aPIt;
+  bool isSet = false;
   for (aWIt = aWidgets.constBegin(), aPIt = myPreSelection.constBegin();
        (aWIt != aWidgets.constEnd()) && (aPIt != myPreSelection.constEnd());
        ++aWIt, ++aPIt) {
@@ -262,10 +263,13 @@ bool ModuleBase_Operation::activateByPreselection()
     // Check if the selection has a selected point
     // for today it is impossible to do because
     // the selected point demands convertation to Sketch plane 2d
-    if (!aWgt->setValue(&aValue))
+    if (!aWgt->setValue(&aValue)) {
+      isSet = false;
       break;
+    } else 
+      isSet = true;
   }
-  if (canBeCommitted()) {
+  if (isSet && canBeCommitted()) {
     // if all widgets are filled with selection
     commit();
     return true;
@@ -285,7 +289,8 @@ bool ModuleBase_Operation::activateByPreselection()
   return false;
 }
 
-void ModuleBase_Operation::initSelection(ModuleBase_ISelection* theSelection)
+void ModuleBase_Operation::initSelection(ModuleBase_ISelection* theSelection,
+                                         ModuleBase_IViewer* /*theViewer*/)
 {
   myPreSelection.clear();