From 13a40b43c87e36fa49a3db967f90560bb8ced691 Mon Sep 17 00:00:00 2001 From: Tannin Date: Wed, 10 Jun 2015 21:20:31 +0200 Subject: bugfix: files weren't correctly assigned to unmanaged mods. --- src/directoryrefresher.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/directoryrefresher.cpp') diff --git a/src/directoryrefresher.cpp b/src/directoryrefresher.cpp index d21af1e3..48d8cfcb 100644 --- a/src/directoryrefresher.cpp +++ b/src/directoryrefresher.cpp @@ -100,16 +100,19 @@ void DirectoryRefresher::addModFilesToStructure(DirectoryEntry *directoryStructu if (stealFiles.length() > 0) { // instead of adding all the files of the target directory, we just change the root of the specified // files to this mod - FilesOrigin origin = directoryStructure->createOrigin(ToWString(modName), directoryW, priority); - foreach (const QString &filename, stealFiles) { + FilesOrigin &origin = directoryStructure->createOrigin(ToWString(modName), directoryW, priority); + for (const QString &filename : stealFiles) { QFileInfo fileInfo(filename); FileEntry::Ptr file = directoryStructure->findFile(ToWString(fileInfo.fileName())); if (file.get() != nullptr) { if (file->getOrigin() == 0) { // replace data as the origin on this bsa file->removeOrigin(0); - file->addOrigin(origin.getID(), file->getFileTime(), L""); } + origin.addFile(file->getIndex()); + file->addOrigin(origin.getID(), file->getFileTime(), L""); + } else { + qWarning("%s not found", qPrintable(fileInfo.fileName())); } } } else { -- cgit v1.3.1