summaryrefslogtreecommitdiff
path: root/src/modinfo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/modinfo.cpp')
-rw-r--r--src/modinfo.cpp26
1 files changed, 14 insertions, 12 deletions
diff --git a/src/modinfo.cpp b/src/modinfo.cpp
index 69d51688..3c721a2c 100644
--- a/src/modinfo.cpp
+++ b/src/modinfo.cpp
@@ -431,6 +431,9 @@ void ModInfoWithConflictInfo::doConflictCheck() const
}
std::wstring name = ToWString(this->name());
+
+ m_CurrentConflictState = CONFLICT_NONE;
+
if ((*m_DirectoryStructure)->originExists(name)) {
FilesOrigin &origin = (*m_DirectoryStructure)->getOriginByName(name);
std::vector<FileEntry::Ptr> files = origin.getFiles();
@@ -463,20 +466,19 @@ void ModInfoWithConflictInfo::doConflictCheck() const
}
}
}
- }
+ m_LastConflictCheck = QTime::currentTime();
- m_LastConflictCheck = QTime::currentTime();
-
- if (!providesAnything)
- m_CurrentConflictState = CONFLICT_REDUNDANT;
- else if (!m_OverwriteList.empty() && !m_OverwrittenList.empty())
- m_CurrentConflictState = CONFLICT_MIXED;
- else if (!m_OverwriteList.empty())
- m_CurrentConflictState = CONFLICT_OVERWRITE;
- else if (!m_OverwrittenList.empty()) {
- m_CurrentConflictState = CONFLICT_OVERWRITTEN;
+ if (files.size() != 0) {
+ if (!providesAnything)
+ m_CurrentConflictState = CONFLICT_REDUNDANT;
+ else if (!m_OverwriteList.empty() && !m_OverwrittenList.empty())
+ m_CurrentConflictState = CONFLICT_MIXED;
+ else if (!m_OverwriteList.empty())
+ m_CurrentConflictState = CONFLICT_OVERWRITE;
+ else if (!m_OverwrittenList.empty())
+ m_CurrentConflictState = CONFLICT_OVERWRITTEN;
+ }
}
- else m_CurrentConflictState = CONFLICT_NONE;
}
ModInfoWithConflictInfo::EConflictType ModInfoWithConflictInfo::isConflicted() const