From: nds Date: Fri, 11 Sep 2015 12:01:33 +0000 (+0300) Subject: Correction for the previous integration X-Git-Tag: V_1.4.0_beta4~21 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=4bd5b3938f3aba070cd4a79b8e6ffd625dcdbe81;p=modules%2Fshaper.git Correction for the previous integration --- diff --git a/src/XGUI/XGUI_WorkshopListener.cpp b/src/XGUI/XGUI_WorkshopListener.cpp index 570ebbf23..8db3733d2 100755 --- a/src/XGUI/XGUI_WorkshopListener.cpp +++ b/src/XGUI/XGUI_WorkshopListener.cpp @@ -192,9 +192,20 @@ void XGUI_WorkshopListener::processEvent(const std::shared_ptr& std::shared_ptr aUpdMsg = std::dynamic_pointer_cast(theMessage); std::set aObjects = aUpdMsg->objects(); - std::set::const_iterator aIt; - for (aIt = aObjects.begin(); aIt != aObjects.end(); ++aIt) { - workshop()->errorMgr()->updateActions(ModelAPI_Feature::feature(*aIt)); + + ModuleBase_OperationFeature* aFOperation = dynamic_cast + (workshop()->operationMgr()->currentOperation()); + bool aFeatureChanged = false; + if(aFOperation ) { + FeaturePtr aFeature = aFOperation->feature(); + if (aFeature.get()) { + std::set::const_iterator aIt; + for (aIt = aObjects.begin(); aIt != aObjects.end() && !aFeatureChanged; ++aIt) { + aFeatureChanged = ModelAPI_Feature::feature(*aIt) == aFeature; + } + } + if (aFeatureChanged) + workshop()->operationMgr()->onValidateOperation(); } } else { //Show error dialog if error message received.