summaryrefslogtreecommitdiff
path: root/src/shared/directoryentry.cpp
diff options
context:
space:
mode:
authorAl <26797547+Al12rs@users.noreply.github.com>2020-05-23 14:19:54 -0700
committerGitHub <noreply@github.com>2020-05-23 14:19:54 -0700
commit08ae9db2fd2a07acb2433275fc84c2ca47267a92 (patch)
tree5e1232028486d097352aca55ac994cd4e238064f /src/shared/directoryentry.cpp
parente618afa5d1ef53e62d022f3d233c86e13fd4a215 (diff)
parent6374845a28c8f1f65a05fb954b4df1ebd541344b (diff)
Merge pull request #1076 from Holt59/moddatachecker
Use the ModDataChecker feature to check mod validity
Diffstat (limited to 'src/shared/directoryentry.cpp')
-rw-r--r--src/shared/directoryentry.cpp32
1 files changed, 3 insertions, 29 deletions
diff --git a/src/shared/directoryentry.cpp b/src/shared/directoryentry.cpp
index 43408dcf..c4b467d6 100644
--- a/src/shared/directoryentry.cpp
+++ b/src/shared/directoryentry.cpp
@@ -67,7 +67,8 @@ static bool SupportOptimizedFind()
return (::VerifyVersionInfo(&versionInfo, VER_MAJORVERSION | VER_MINORVERSION, mask) == TRUE);
}
-static bool DirCompareByName(const DirectoryEntry* lhs, const DirectoryEntry* rhs)
+bool DirCompareByName::operator()(
+ const DirectoryEntry* lhs, const DirectoryEntry* rhs) const
{
return _wcsicmp(lhs->getName().c_str(), rhs->getName().c_str()) < 0;
}
@@ -156,13 +157,6 @@ void DirectoryEntry::addDir(
}
});
- elapsed(stats.sortTimes, [&]{
- std::sort(
- m_SubDirectories.begin(),
- m_SubDirectories.end(),
- &DirCompareByName);
- });
-
m_Populated = true;
}
@@ -647,15 +641,6 @@ void DirectoryEntry::addFiles(
onFile((Context*)pcx, path, ft);
}
);
-
- {
- std::scoped_lock lock(m_SubDirMutex);
-
- std::sort(
- m_SubDirectories.begin(),
- m_SubDirectories.end(),
- &DirCompareByName);
- }
}
void DirectoryEntry::onDirectoryStart(Context* cx, std::wstring_view path)
@@ -671,17 +656,6 @@ void DirectoryEntry::onDirectoryStart(Context* cx, std::wstring_view path)
void DirectoryEntry::onDirectoryEnd(Context* cx, std::wstring_view path)
{
elapsed(cx->stats.dirTimes, [&] {
- auto* current = cx->current.top();
-
- {
- std::scoped_lock lock(current->m_SubDirMutex);
-
- std::sort(
- current->m_SubDirectories.begin(),
- current->m_SubDirectories.end(),
- &DirCompareByName);
- }
-
cx->current.pop();
});
}
@@ -842,7 +816,7 @@ void DirectoryEntry::removeDirRecursive()
void DirectoryEntry::addDirectoryToList(DirectoryEntry* e, std::wstring nameLc)
{
- m_SubDirectories.push_back(e);
+ m_SubDirectories.insert(e);
m_SubDirectoriesLookup.emplace(std::move(nameLc), e);
}