put USE_OLD_DAG around use of backlinks

This commit is contained in:
wmayer
2018-10-22 12:06:22 +02:00
parent a8b7390805
commit 1243b2543e

View File

@@ -353,12 +353,14 @@ void TransactionDocumentObject::applyDel(Document &Doc, TransactionalObject *pcO
if (status == Del) {
DocumentObject* obj = static_cast<DocumentObject*>(pcObj);
#ifndef USE_OLD_DAG
//Make sure the backlinks of all linked objects are updated. As the links of the removed
//object are never set to [] they also do not remove the backlink. But as they are
//not in the document anymore we need to remove them anyway to ensure a correct graph
auto list = obj->getOutList();
for (auto link : list)
link->_removeBackLink(obj);
#endif
// simply filling in the saved object
Doc._removeObject(obj);
@@ -370,11 +372,13 @@ void TransactionDocumentObject::applyNew(Document &Doc, TransactionalObject *pcO
if (status == New) {
DocumentObject* obj = static_cast<DocumentObject*>(pcObj);
Doc._addObject(obj, _NameInDocument.c_str());
#ifndef USE_OLD_DAG
//make sure the backlinks of all linked objects are updated
auto list = obj->getOutList();
for (auto link : list)
link->_addBackLink(obj);
#endif
}
}