Prevent symlink loops

This commit is contained in:
2024-02-02 22:41:44 +01:00
parent af9187737f
commit 3f7e3689e8
+3
View File
@@ -131,10 +131,13 @@ bool ImageRingList::setDir(const QString path, const QString &currentFile, bool
if(dir.exists()) if(dir.exists())
{ {
QStringList scannedDirs;
QStringList absolutePaths; QStringList absolutePaths;
std::function<void(const QString&)> scanDir = [&](const QString &path) std::function<void(const QString&)> scanDir = [&](const QString &path)
{ {
QDir dir(path); QDir dir(path);
if(scannedDirs.contains(dir.canonicalPath()))return;
scannedDirs.append(dir.canonicalPath());
QDir::SortFlags sortFlags = m_liveMode ? QDir::Time : m_sort | QDir::IgnoreCase; QDir::SortFlags sortFlags = m_liveMode ? QDir::Time : m_sort | QDir::IgnoreCase;
if(m_reversed)sortFlags |= QDir::Reversed; if(m_reversed)sortFlags |= QDir::Reversed;