From d04bd69b38fd7f99c93e8c527644d0b26f4b57c0 Mon Sep 17 00:00:00 2001 From: nds Date: Fri, 27 Mar 2015 14:45:31 +0300 Subject: [PATCH] External edges correction for sketch operations. --- src/Model/Model_AttributeSelection.cpp | 2 +- src/ModuleBase/ModuleBase_WidgetValidated.cpp | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Model/Model_AttributeSelection.cpp b/src/Model/Model_AttributeSelection.cpp index f31bba3f3..ca0653fcc 100644 --- a/src/Model/Model_AttributeSelection.cpp +++ b/src/Model/Model_AttributeSelection.cpp @@ -137,7 +137,7 @@ void Model_AttributeSelection::setValue(const ResultPtr& theContext, std::shared_ptr Model_AttributeSelection::value() { std::shared_ptr aResult; - if (myIsInitialized) { + if (myRef.isInitialized()) { TDF_Label aSelLab = selectionLabel(); if (aSelLab.IsAttribute(kSIMPLE_REF_ID)) { // it is just reference to shape, not sub-shape ResultPtr aContext = context(); diff --git a/src/ModuleBase/ModuleBase_WidgetValidated.cpp b/src/ModuleBase/ModuleBase_WidgetValidated.cpp index e7285ab15..8f410e56d 100644 --- a/src/ModuleBase/ModuleBase_WidgetValidated.cpp +++ b/src/ModuleBase/ModuleBase_WidgetValidated.cpp @@ -11,6 +11,8 @@ #include #include +#include + #include ModuleBase_WidgetValidated::ModuleBase_WidgetValidated(QWidget* theParent, @@ -45,6 +47,11 @@ bool ModuleBase_WidgetValidated::isValid(const Handle_SelectMgr_EntityOwner& the AttributePtr anAttribute = myFeature->attribute(attributeID()); // stores the current values of the widget attribute + Events_Loop* aLoop = Events_Loop::loop(); + // blocks the flush signals to avoid the temporary objects visualization in the viewer + // they should not be shown in order to do not lose highlight by erasing them + aLoop->activateFlushes(false); + aData->blockSendAttributeUpdated(true); bool isAttributeBlocked = anAttribute->blockSetInitialized(true); storeAttributeValue(); @@ -59,6 +66,7 @@ bool ModuleBase_WidgetValidated::isValid(const Handle_SelectMgr_EntityOwner& the restoreAttributeValue(aValid); aData->blockSendAttributeUpdated(false); anAttribute->blockSetInitialized(isAttributeBlocked); + aLoop->activateFlushes(true); return aValid; } -- 2.39.2