Ensure that GeoFeatureGroup claims children when a parent of it is deleted. fixes #0003150

This commit is contained in:
Stefan Tröger
2017-08-09 21:02:57 +02:00
committed by wmayer
parent f293cf2b3b
commit a65856c022
2 changed files with 12 additions and 3 deletions

View File

@@ -76,8 +76,16 @@ std::vector<App::DocumentObject*> ViewProviderGeoFeatureGroupExtension::extensio
std::vector<App::DocumentObject*> claim;
auto objs = ext->Group.getValues();
for(auto obj : objs) {
if(obj->getInList().size()<=1)
for(auto obj : objs) {
auto vin = obj->getInList();
//we don't want to count objects that are deleted
vin.erase(std::remove_if(vin.begin(), vin.end(), [](App::DocumentObject* obj)->bool {
return obj->isDeleting();
}), vin.end());
if(vin.size()<=1)
claim.push_back(obj);
}
return claim;