]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Internal edit launch: clear cashed viewer flags in sketch manager
authornds <nds@opencascade.com>
Mon, 9 Nov 2015 13:09:15 +0000 (16:09 +0300)
committernds <nds@opencascade.com>
Mon, 9 Nov 2015 13:09:15 +0000 (16:09 +0300)
Erroneous scenario: create line, click 1st, click 2nd. Internal edit is started, input another value, Sift +Tab to input the previous point value. The result is that point is changed by previous click position.

src/PartSet/PartSet_SketcherMgr.cpp
src/PartSet/PartSet_SketcherMgr.h
src/PartSet/PartSet_SketcherReetntrantMgr.cpp

index a5a44efb207e15989490171734ae8ecbf408592d..fee888118a2221646475c671cf031f368e76221b 100755 (executable)
@@ -719,6 +719,12 @@ QString PartSet_SketcherMgr::getFeatureError(const FeaturePtr& theFeature, const
   return anError;
 }
 
+void PartSet_SketcherMgr::clearClickedFlags()
+{
+  myClickedPoint.clear();
+  myCurrentPoint.clear();
+}
+
 const QStringList& PartSet_SketcherMgr::sketchOperationIdList()
 {
   static QStringList aIds;
index 1800688a3a1b4049f07ee17cba465887f74daee0..8971ba26fbbf6503e476bdeb19f43f45ce537645 100644 (file)
@@ -186,6 +186,9 @@ public:
   //! \return string value
   QString getFeatureError(const FeaturePtr& theFeature, const bool isCheckGUI = true);
 
+  /// It nullify internal flags concerned to clicked mouse event
+  void clearClickedFlags();
+
   /// Returns list of strings which contains id's of sketch operations
   static const QStringList& sketchOperationIdList();
 
index abde2a78b8547ba48a92e7d2fb6ed18a7cc02346..52460b5ed9741b56fb1dae258d34015550bd6c98 100755 (executable)
@@ -304,6 +304,9 @@ bool PartSet_SketcherReetntrantMgr::startInternalEdit(const std::string& thePrev
       }
     }
   }
+  if (isDone)
+    module()->sketchMgr()->clearClickedFlags();
+
   return isDone;
 }