From 9a4d4f7656940b825054919eee921869b44d1b6f Mon Sep 17 00:00:00 2001 From: vsv Date: Tue, 16 May 2017 17:35:07 +0300 Subject: [PATCH] Issue #2154: Do not synchronize selection for result and features if any operation is started. --- src/XGUI/XGUI_SelectionMgr.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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()); -- 2.39.2