From aa21a192cbaff7fa7639d40851f7afc57475e8b0 Mon Sep 17 00:00:00 2001 From: Tannin Date: Sat, 20 Jun 2015 13:55:29 +0200 Subject: bugfix: fix in changeset f4c306711386 wasn't fully working --- src/modinfo.cpp | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) (limited to 'src/modinfo.cpp') diff --git a/src/modinfo.cpp b/src/modinfo.cpp index feb3a96c..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 files = origin.getFiles(); @@ -465,18 +468,16 @@ void ModInfoWithConflictInfo::doConflictCheck() const } 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; - } else { - m_CurrentConflictState = CONFLICT_NONE; } } -- cgit v1.3.1