Merge pull request #20031 from PaddleStroke/patch-11
App::Link : deleting it deletes its elements if any
This commit is contained in:
@@ -2384,8 +2384,19 @@ bool ViewProviderLink::getDetailPath(
|
||||
|
||||
bool ViewProviderLink::onDelete(const std::vector<std::string> &) {
|
||||
auto element = getObject<App::LinkElement>();
|
||||
if (element && !element->canDelete())
|
||||
if (element && !element->canDelete()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
auto link = getObject<App::Link>();
|
||||
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();
|
||||
|
||||
Reference in New Issue
Block a user