# HG changeset patch # User Santeri Piippo # Date 1520092609 -7200 # Node ID f05683924e86fe172c37b7bd0c3be7eff7340dbd # Parent 5f00dfde490185a7cf9b134e7e850726471ccc15 reimplemented detection of broken references in PartDownloadRequest::downloadFinished diff -r 5f00dfde4901 -r f05683924e86 src/partdownloadrequest.cpp --- a/src/partdownloadrequest.cpp Sat Mar 03 17:52:40 2018 +0200 +++ b/src/partdownloadrequest.cpp Sat Mar 03 17:56:49 2018 +0200 @@ -217,17 +217,12 @@ // Iterate through this file and check for errors. If there's any that stems // from unknown file references, try resolve that by downloading the reference. - // This is why downloading a part may end up downloading multiple files, as - // it resolves dependencies. for (LDObject* obj : document->objects()) { - LDError* err = dynamic_cast (obj); + LDSubfileReference* reference = dynamic_cast(obj); - if (err == nullptr or err->fileReferenced().isEmpty()) - continue; - - QString dest = err->fileReferenced(); - prompt()->downloadFromPartsTracker (dest); + if (reference and reference->fileInfo(m_documents) == nullptr) + prompt()->downloadFromPartsTracker(reference->referenceName()); } prompt()->addFile (document);