From: vsv Date: Tue, 16 May 2017 14:35:07 +0000 (+0300) Subject: Issue #2154: Do not synchronize selection for result and features if any operation... X-Git-Tag: V_2.7.1~15 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=9a4d4f7656940b825054919eee921869b44d1b6f;p=modules%2Fshaper.git Issue #2154: Do not synchronize selection for result and features if any operation is started. --- diff --git a/src/XGUI/XGUI_SelectionMgr.cpp b/src/XGUI/XGUI_SelectionMgr.cpp index 6a85f224d..f4a0b397b 100755 --- a/src/XGUI/XGUI_SelectionMgr.cpp +++ b/src/XGUI/XGUI_SelectionMgr.cpp @@ -8,6 +8,7 @@ #include "XGUI_ViewerProxy.h" #include "XGUI_Displayer.h" #include "XGUI_Selection.h" +#include "XGUI_OperationMgr.h" #ifndef HAVE_SALOME #include @@ -121,6 +122,7 @@ void XGUI_SelectionMgr::onViewerSelection() QObjectPtrList aFeatures; ResultPtr aResult; FeaturePtr aFeature; + bool aHasOperation = (myWorkshop->operationMgr()->currentOperation() != 0); Handle(AIS_InteractiveContext) aContext = myWorkshop->viewer()->AISContext(); if (!aContext.IsNull()) { QList aPresentations = @@ -129,7 +131,7 @@ void XGUI_SelectionMgr::onViewerSelection() if (aPrs->object().get()) { if (!aFeatures.contains(aPrs->object())) aFeatures.append(aPrs->object()); - if (aPrs->shape().get()) { + if (aPrs->shape().get() && (!aHasOperation)) { aResult = std::dynamic_pointer_cast(aPrs->object()); if (aResult.get()) { aFeature = anActiveDocument->producedByFeature(aResult, aPrs->shape());