X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FXGUI%2FXGUI_Workshop.cpp;h=646a41bfa8c070f70a6f183e566d8db0c59b2cb1;hb=9d2e6d9c21e4f16817ca5b572847fe323f6ef32a;hp=dfa21b5da8fd497137d746a0f453fa2ff352b00c;hpb=5c4e7fe2663a3428d9a472503f582d92b49263d6;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_Workshop.cpp b/src/XGUI/XGUI_Workshop.cpp index dfa21b5da..646a41bfa 100644 --- a/src/XGUI/XGUI_Workshop.cpp +++ b/src/XGUI/XGUI_Workshop.cpp @@ -468,17 +468,19 @@ void XGUI_Workshop::onFeatureRedisplayMsg(const std::shared_ptrredisplay(aObj, false); - if (myOperationMgr->hasOperation()) { - ModuleBase_Operation* aOperation = myOperationMgr->currentOperation(); - if (!aOperation->isEditOperation() && - aOperation->hasObject(aObj) && myDisplayer->isActive(aObj)) + //if (myOperationMgr->hasOperation()) { + // ModuleBase_Operation* aOperation = myOperationMgr->currentOperation(); + // if (!aOperation->isEditOperation() && + // aOperation->hasObject(aObj) && myDisplayer->isActive(aObj)) + if (!myModule->canActivateSelection(aObj)) { + if (myDisplayer->isActive(aObj)) myDisplayer->deactivate(aObj); } } else { // display object if the current operation has it if (displayObject(aObj)) { - ModuleBase_Operation* aOperation = myOperationMgr->currentOperation(); - if (aOperation && aOperation->hasObject(aObj)) { - ModuleBase_Operation* aOperation = myOperationMgr->currentOperation(); + //ModuleBase_Operation* aOperation = myOperationMgr->currentOperation(); + //if (aOperation && aOperation->hasObject(aObj)) { + if (!myModule->canActivateSelection(aObj)) { #ifdef DEBUG_FEATURE_REDISPLAY QString anObjInfo = ModuleBase_Tools::objectInfo((aObj)); qDebug(QString(" display object = %1").arg(anObjInfo).toStdString().c_str());