diff options
Diffstat (limited to 'src/modinfo.cpp')
| -rw-r--r-- | src/modinfo.cpp | 26 |
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 |
