Salome HOME
Merge branch 'Dev_1.1.0' of newgeom:newgeom into Dev_1.1.0
[modules/shaper.git] / src / PartSet / PartSet_WidgetPoint2d.cpp
index d011bb5d2801ff7ade90cf0d4f58caf2b7e57017..10f6de95fd65dc663d5e28d6d00fcbcab2f4ebed 100644 (file)
@@ -112,6 +112,7 @@ void PartSet_WidgetPoint2D::reset()
     // locking of the validating state.
     ModuleBase_Tools::setSpinValue(myXSpin, isOk ? aDefValue : 0.0);
     ModuleBase_Tools::setSpinValue(myYSpin, isOk ? aDefValue : 0.0);
+    storeValueCustom();
   }
 }
 
@@ -261,8 +262,11 @@ void PartSet_WidgetPoint2D::onMouseRelease(ModuleBase_IViewWindow* theWnd, QMous
     if (aSelectedFeature.get() != NULL) {
       std::shared_ptr<SketchPlugin_Feature> aSPFeature = 
               std::dynamic_pointer_cast<SketchPlugin_Feature>(aSelectedFeature);
-      if ((!aSPFeature) && (!aShape.IsNull()))
-        PartSet_Tools::createFixedObjectByExternal(aShape, aObject, mySketch);
+      if ((!aSPFeature) && (!aShape.IsNull())) {
+        ResultPtr aFixedObject = PartSet_Tools::findFixedObjectByExternal(aShape, aObject, mySketch);
+        if (!aFixedObject.get())
+          aFixedObject = PartSet_Tools::createFixedObjectByExternal(aShape, aObject, mySketch);
+      }
     }
     double aX, aY;
     if (getPoint2d(aView, aShape, aX, aY)) {