Salome HOME
projects
/
modules
/
shaper.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Parts results and activation/deactivation management (show/hide also)
[modules/shaper.git]
/
src
/
ModelAPI
/
ModelAPI_Feature.cpp
diff --git
a/src/ModelAPI/ModelAPI_Feature.cpp
b/src/ModelAPI/ModelAPI_Feature.cpp
index e29fff7d09f69e54a05fef982cc4cd2396f1fbde..3c78c82d0a254403579b4068b47877724efb30d6 100644
(file)
--- a/
src/ModelAPI/ModelAPI_Feature.cpp
+++ b/
src/ModelAPI/ModelAPI_Feature.cpp
@@
-29,7
+29,6
@@
std::shared_ptr<ModelAPI_Result> ModelAPI_Feature::lastResult()
void ModelAPI_Feature::setResult(const std::shared_ptr<ModelAPI_Result>& theResult)
{
void ModelAPI_Feature::setResult(const std::shared_ptr<ModelAPI_Result>& theResult)
{
- static Events_Loop* aLoop = Events_Loop::loop();
static Events_ID EVENT_UPD = Events_Loop::eventByName(EVENT_OBJECT_UPDATED);
static const ModelAPI_EventCreator* aECreator = ModelAPI_EventCreator::get();
static Events_ID EVENT_UPD = Events_Loop::eventByName(EVENT_OBJECT_UPDATED);
static const ModelAPI_EventCreator* aECreator = ModelAPI_EventCreator::get();
@@
-47,9
+46,6
@@
void ModelAPI_Feature::setResult(const std::shared_ptr<ModelAPI_Result>& theResu
}
// in any case result becomes enabled
theResult->setDisabled(theResult, false);
}
// in any case result becomes enabled
theResult->setDisabled(theResult, false);
- // flush vidualisation changes
- static Events_ID aRedispEvent = aLoop->eventByName(EVENT_OBJECT_TO_REDISPLAY);
- aLoop->flush(aRedispEvent);
}
void ModelAPI_Feature::setResult(const std::shared_ptr<ModelAPI_Result>& theResult,
}
void ModelAPI_Feature::setResult(const std::shared_ptr<ModelAPI_Result>& theResult,
@@
-65,10
+61,6
@@
void ModelAPI_Feature::setResult(const std::shared_ptr<ModelAPI_Result>& theResu
*aResIter = theResult;
}
theResult->setDisabled(theResult, false);
*aResIter = theResult;
}
theResult->setDisabled(theResult, false);
- // flush visualisation changes
- static Events_Loop* aLoop = Events_Loop::loop();
- static Events_ID aRedispEvent = aLoop->eventByName(EVENT_OBJECT_TO_REDISPLAY);
- aLoop->flush(aRedispEvent);
}
void ModelAPI_Feature::removeResult(const std::shared_ptr<ModelAPI_Result>& theResult)
}
void ModelAPI_Feature::removeResult(const std::shared_ptr<ModelAPI_Result>& theResult)
@@
-154,7
+146,8
@@
void ModelAPI_Feature::erase()
while (!myResults.empty()) { // remove one by one with messages
std::shared_ptr<ModelAPI_Result> aRes = *(myResults.begin());
aRes->setDisabled(aRes, true); // to avoid activation of the Part result
while (!myResults.empty()) { // remove one by one with messages
std::shared_ptr<ModelAPI_Result> aRes = *(myResults.begin());
aRes->setDisabled(aRes, true); // to avoid activation of the Part result
- myResults.erase(myResults.begin());
+ if (!myResults.empty()) // disabling result may erase the list (on undo of Part, issue 665)
+ myResults.erase(myResults.begin());
}
ModelAPI_Object::erase();
}
}
ModelAPI_Object::erase();
}