From 16bda49e0667f77f4ebe1d8fa2682abf57aa6765 Mon Sep 17 00:00:00 2001 From: Tannin Date: Sat, 25 May 2013 12:24:48 +0200 Subject: - bugfix: mod priority ordering could become incorrect - bugfix: when grouping is enabled, newly installed mods broke grouping - bugfix: syncing overwrite didn't clean up emptied directory --- src/shared/directoryentry.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/shared/directoryentry.cpp') diff --git a/src/shared/directoryentry.cpp b/src/shared/directoryentry.cpp index abf9affb..9958b934 100644 --- a/src/shared/directoryentry.cpp +++ b/src/shared/directoryentry.cpp @@ -192,7 +192,6 @@ void FileEntry::addOrigin(int origin, FILETIME fileTime, const std::wstring &arc m_Origin = origin; m_FileTime = fileTime; m_Archive = archive; -// } else if (FilesOrigin::getByID(origin).getPriority() > FilesOrigin::getByID(m_Origin).getPriority()) { } else if (m_Parent->getOriginByID(origin).getPriority() > m_Parent->getOriginByID(m_Origin).getPriority()) { if (std::find(m_Alternatives.begin(), m_Alternatives.end(), m_Origin) == m_Alternatives.end()) { m_Alternatives.push_back(m_Origin); @@ -269,7 +268,10 @@ bool FileEntry::removeOrigin(int origin) // sorted by priority descending static bool ByOriginPriority(DirectoryEntry *entry, int LHS, int RHS) { - return entry->getOriginByID(LHS).getPriority() < entry->getOriginByID(RHS).getPriority(); + int l = entry->getOriginByID(LHS).getPriority(); if (l < 0) l = INT_MAX; + int r = entry->getOriginByID(RHS).getPriority(); if (r < 0) r = INT_MAX; + + return l < r; } -- cgit v1.3.1