mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 02:16:51 +02:00
skip delete entities not in the tree
This commit is contained in:
parent
052a0c3ebe
commit
960646f117
2 changed files with 6 additions and 3 deletions
|
@ -54,6 +54,7 @@ void DeleteEntityOperator::addEntityIDToDeleteList(const EntityItemID& searchEnt
|
||||||
}
|
}
|
||||||
|
|
||||||
void DeleteEntityOperator::addEntityToDeleteList(const EntityItemPointer& entity) {
|
void DeleteEntityOperator::addEntityToDeleteList(const EntityItemPointer& entity) {
|
||||||
|
assert(entity && entity->getElement());
|
||||||
EntityToDeleteDetails details;
|
EntityToDeleteDetails details;
|
||||||
details.entity = entity;
|
details.entity = entity;
|
||||||
details.containingElement = entity->getElement();
|
details.containingElement = entity->getElement();
|
||||||
|
|
|
@ -736,9 +736,11 @@ void EntityTree::deleteEntitiesByPointer(const SetOfEntities& entities) {
|
||||||
}
|
}
|
||||||
DeleteEntityOperator theOperator(getThisPointer());
|
DeleteEntityOperator theOperator(getThisPointer());
|
||||||
for (auto entity : entities) {
|
for (auto entity : entities) {
|
||||||
theOperator.addEntityToDeleteList(entity);
|
if (entity->getElement()) {
|
||||||
emit deletingEntity(entity->getID());
|
theOperator.addEntityToDeleteList(entity);
|
||||||
emit deletingEntityPointer(entity.get());
|
emit deletingEntity(entity->getID());
|
||||||
|
emit deletingEntityPointer(entity.get());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!theOperator.getEntities().empty()) {
|
if (!theOperator.getEntities().empty()) {
|
||||||
|
|
Loading…
Reference in a new issue