diff options
| -rw-r--r-- | src/kitemviews/private/kdirectorycontentscounter.cpp | 6 | ||||
| -rw-r--r-- | src/kitemviews/private/kdirectorycontentscounter.h | 4 |
2 files changed, 6 insertions, 4 deletions
diff --git a/src/kitemviews/private/kdirectorycontentscounter.cpp b/src/kitemviews/private/kdirectorycontentscounter.cpp index a19bce8b3..a0ed8c27c 100644 --- a/src/kitemviews/private/kdirectorycontentscounter.cpp +++ b/src/kitemviews/private/kdirectorycontentscounter.cpp @@ -104,7 +104,7 @@ void KDirectoryContentsCounter::slotResult(const QString& path, int count, long } if (!m_queue.isEmpty()) { - startWorker(m_queue.dequeue()); + startWorker(m_queue.takeFirst()); } if (s_cache->contains(resolvedPath)) { @@ -175,7 +175,9 @@ void KDirectoryContentsCounter::startWorker(const QString& path) } if (m_workerIsBusy) { - m_queue.enqueue(path); + if (!m_queue.contains(path)) { + m_queue.append(path); + } } else { KDirectoryContentsCounterWorker::Options options; diff --git a/src/kitemviews/private/kdirectorycontentscounter.h b/src/kitemviews/private/kdirectorycontentscounter.h index 0c900ec64..287227bff 100644 --- a/src/kitemviews/private/kdirectorycontentscounter.h +++ b/src/kitemviews/private/kdirectorycontentscounter.h @@ -23,7 +23,7 @@ #include "kdirectorycontentscounterworker.h" -#include <QQueue> +#include <QLinkedList> #include <QSet> #include <QHash> @@ -72,7 +72,7 @@ private: private: KFileItemModel* m_model; - QQueue<QString> m_queue; + QLinkedList<QString> m_queue; static QThread* m_workerThread; |
