From 1248ba3bf9eb54d6600625c28a2c0d8cd185bda3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Tr=C3=B6ger?= Date: Sat, 16 Sep 2017 08:36:26 +0200 Subject: [PATCH] Fix wrong detection of multiple GeoFeatureGroups --- src/App/GeoFeatureGroupExtension.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/App/GeoFeatureGroupExtension.cpp b/src/App/GeoFeatureGroupExtension.cpp index 9480f0b293..d31aab5390 100644 --- a/src/App/GeoFeatureGroupExtension.cpp +++ b/src/App/GeoFeatureGroupExtension.cpp @@ -198,10 +198,11 @@ void GeoFeatureGroupExtension::extensionOnChanged(const Property* p) { //would return anyone of it and hence it is possible that we miss an error. We need a custom check auto list = obj->getInList(); for (auto in : list) { - if(in->hasExtension(App::GeoFeatureGroupExtension::getExtensionClassTypeId()) && - in != getExtendedObject()) { - error = true; - corrected.erase(std::remove(corrected.begin(), corrected.end(), obj), corrected.end()); + if(in->hasExtension(App::GeoFeatureGroupExtension::getExtensionClassTypeId()) && //is GeoFeatureGroup? + in != getExtendedObject() && //is a different one? + in->getExtensionByType()->hasObject(obj)) { //is not a non-grouping link? + error = true; + corrected.erase(std::remove(corrected.begin(), corrected.end(), obj), corrected.end()); } } }