skip delete entities not in the tree

This commit is contained in:
Andrew Meadows 2019-10-08 16:12:14 -07:00
parent 052a0c3ebe
commit 960646f117
2 changed files with 6 additions and 3 deletions

View file

@ -54,6 +54,7 @@ void DeleteEntityOperator::addEntityIDToDeleteList(const EntityItemID& searchEnt
}
void DeleteEntityOperator::addEntityToDeleteList(const EntityItemPointer& entity) {
assert(entity && entity->getElement());
EntityToDeleteDetails details;
details.entity = entity;
details.containingElement = entity->getElement();

View file

@ -736,9 +736,11 @@ void EntityTree::deleteEntitiesByPointer(const SetOfEntities& entities) {
}
DeleteEntityOperator theOperator(getThisPointer());
for (auto entity : entities) {
theOperator.addEntityToDeleteList(entity);
emit deletingEntity(entity->getID());
emit deletingEntityPointer(entity.get());
if (entity->getElement()) {
theOperator.addEntityToDeleteList(entity);
emit deletingEntity(entity->getID());
emit deletingEntityPointer(entity.get());
}
}
if (!theOperator.getEntities().empty()) {