summaryrefslogtreecommitdiff
path: root/src/modinfo.cpp
diff options
context:
space:
mode:
authorTannin <devnull@localhost>2013-07-17 20:58:58 +0200
committerTannin <devnull@localhost>2013-07-17 20:58:58 +0200
commitd0f2c4fcf79222d5c6f3c17188a811b0a47833c6 (patch)
tree12c9e4f529caa0f5830c8dd52d785b3e2df5462b /src/modinfo.cpp
parent36ac91e0b765b1ae099e93054447beca8f461f74 (diff)
- now avoids a few unnecessary copy operations during generation of the directory structure
- bugfix: circular dependency caused a memory leak - bugfix: removing a single mod lead to the wrong mod being deleted
Diffstat (limited to 'src/modinfo.cpp')
-rw-r--r--src/modinfo.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/modinfo.cpp b/src/modinfo.cpp
index 00b7c2af..1bb2daad 100644
--- a/src/modinfo.cpp
+++ b/src/modinfo.cpp
@@ -671,7 +671,7 @@ ModInfoRegular::EConflictType ModInfoRegular::isConflicted() const
std::wstring name = ToWString(m_Name);
if ((*m_DirectoryStructure)->originExists(name)) {
FilesOrigin &origin = (*m_DirectoryStructure)->getOriginByName(name);
- std::vector<FileEntry*> files = origin.getFiles();
+ std::vector<FileEntry::Ptr> files = origin.getFiles();
for (auto iter = files.begin(); iter != files.end() && (!overwrite || !overwritten || !regular); ++iter) {
const std::vector<int> &alternatives = (*iter)->getAlternatives();
if (alternatives.size() == 0) {
@@ -716,7 +716,7 @@ bool ModInfoRegular::isRedundant() const
std::wstring name = ToWString(m_Name);
if ((*m_DirectoryStructure)->originExists(name)) {
FilesOrigin &origin = (*m_DirectoryStructure)->getOriginByName(name);
- std::vector<FileEntry*> files = origin.getFiles();
+ std::vector<FileEntry::Ptr> files = origin.getFiles();
bool ignore = false;
for (auto iter = files.begin(); iter != files.end(); ++iter) {
if ((*iter)->getOrigin(ignore) == origin.getID()) {