summaryrefslogtreecommitdiff
path: root/src/shared/directoryentry.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared/directoryentry.cpp')
-rw-r--r--src/shared/directoryentry.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/shared/directoryentry.cpp b/src/shared/directoryentry.cpp
index b3a12498..dde8a69e 100644
--- a/src/shared/directoryentry.cpp
+++ b/src/shared/directoryentry.cpp
@@ -492,6 +492,12 @@ static bool SupportOptimizedFind()
}
+static bool DirCompareByName(const DirectoryEntry *lhs, const DirectoryEntry *rhs)
+{
+ return wcsicmp(lhs->getName().c_str(), rhs->getName().c_str()) < 0;
+}
+
+
void DirectoryEntry::addFiles(FilesOrigin &origin, wchar_t *buffer, int bufferOffset)
{
WIN32_FIND_DATAW findData;
@@ -523,6 +529,7 @@ void DirectoryEntry::addFiles(FilesOrigin &origin, wchar_t *buffer, int bufferOf
result = ::FindNextFileW(searchHandle, &findData);
}
}
+ std::sort(m_SubDirectories.begin(), m_SubDirectories.end(), &DirCompareByName);
::FindClose(searchHandle);
}