From 35ac7851925c8fa1f177d2c8caedb50089b5ebae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Althaus?= Date: Sat, 28 Sep 2024 00:11:28 +0200 Subject: [PATCH] Show nested groups in the dependency graph Depending on the creation order (objectArray) some nested groups where not shown a nested because their children where processed before the parents. --- src/App/Graphviz.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/App/Graphviz.cpp b/src/App/Graphviz.cpp index 181c8e61ae..7799339cef 100644 --- a/src/App/Graphviz.cpp +++ b/src/App/Graphviz.cpp @@ -389,12 +389,15 @@ void Document::exportGraphviz(std::ostream& out) const if(CSSubgraphs) { //first build up the coordinate system subgraphs for (auto objectIt : d->objectArray) { - // do not require an empty inlist (#0003465: Groups breaking dependency graph) + // ignore groups inside other groups, these will be processed in one of the next recursive calls. // App::Origin now has the GeoFeatureGroupExtension but it should not move its // group symbol outside its parent if (!objectIt->isDerivedFrom(Origin::getClassTypeId()) && - objectIt->hasExtension(GeoFeatureGroupExtension::getExtensionClassTypeId())) + objectIt->hasExtension(GeoFeatureGroupExtension::getExtensionClassTypeId()) && + GeoFeatureGroupExtension::getGroupOfObject(objectIt) == nullptr) + { recursiveCSSubgraphs(objectIt, nullptr); + } } }