From 4566843fb41373e10a49c0c15e84fc173c03ffac Mon Sep 17 00:00:00 2001 From: PaddleStroke Date: Thu, 6 Mar 2025 17:46:30 +0100 Subject: [PATCH] App::Link : deleting it deletes its elements if any --- src/Gui/ViewProviderLink.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/Gui/ViewProviderLink.cpp b/src/Gui/ViewProviderLink.cpp index 9f20fc9314..a706205798 100644 --- a/src/Gui/ViewProviderLink.cpp +++ b/src/Gui/ViewProviderLink.cpp @@ -2384,8 +2384,19 @@ bool ViewProviderLink::getDetailPath( bool ViewProviderLink::onDelete(const std::vector &) { auto element = getObject(); - if (element && !element->canDelete()) + if (element && !element->canDelete()) { return false; + } + + auto link = getObject(); + if (link->ElementCount.getValue() != 0) { + auto doc = link->getDocument(); + auto elements = link->ElementList.getValues(); + for (auto element : elements) { + doc->removeObject(element->getNameInDocument()); + } + } + auto ext = getLinkExtension(); if (ext->isLinkMutated()) { auto linked = ext->getLinkedObjectValue();