fix crash in ViewProviderGeoFeatureGroupExtension::getLinkedObjects

This commit is contained in:
wmayer 2017-02-01 12:04:41 +01:00
parent 2780edd903
commit 5d21eb614b

View File

@ -98,7 +98,7 @@ std::vector< App::DocumentObject* > ViewProviderGeoFeatureGroupExtension::getLin
if(!obj)
return std::vector< App::DocumentObject* >();
//we get all linked objects, and that recursively
std::vector< App::DocumentObject* > result;
std::vector<App::Property*> list;
@ -117,16 +117,23 @@ std::vector< App::DocumentObject* > ViewProviderGeoFeatureGroupExtension::getLin
result.insert(result.end(), vec.begin(), vec.end());
}
}
//clear all null objects
result.erase(std::remove(result.begin(), result.end(), nullptr), result.end());
//collect all dependencies of those objects
std::vector< App::DocumentObject* > links;
for(App::DocumentObject *obj : result) {
auto vec = getLinkedObjects(obj);
result.insert(result.end(), vec.begin(), vec.end());
links.insert(links.end(), vec.begin(), vec.end());
}
if (!links.empty()) {
result.insert(result.end(), links.begin(), links.end());
std::sort(result.begin(), result.end());
result.erase(std::unique(result.begin(), result.end()), result.end());
}
return result;
}