┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/kitemviews/private/kdirectorycontentscounter.h
diff options
context:
space:
mode:
authorFrank Reininghaus <[email protected]>2014-01-21 19:07:58 +0100
committerFrank Reininghaus <[email protected]>2014-01-21 19:08:07 +0100
commit55678afcc17fe987cb67588e34cff807dd64ad5d (patch)
treeb2618b0d14209863257521ed61687d26426e5157 /src/kitemviews/private/kdirectorycontentscounter.h
parent419c7578f0ffec27737deafd2abd9d1356095216 (diff)
Use only one "directory contents counting" thread per process
The pointer to QThread object is stored in a global variable, and each view increments/decrements a reference count when it starts/stops using the thread. If this thread reaches zero, the thread is stopped. Note that we cannot just use a smart pointer, like QSharedPointer, to manage the thread, because we must make sure that the thread is not running any more before the QThread is deleted. REVIEW: 115064
Diffstat (limited to 'src/kitemviews/private/kdirectorycontentscounter.h')
-rw-r--r--src/kitemviews/private/kdirectorycontentscounter.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/kitemviews/private/kdirectorycontentscounter.h b/src/kitemviews/private/kdirectorycontentscounter.h
index 425c3632a..c03d0249c 100644
--- a/src/kitemviews/private/kdirectorycontentscounter.h
+++ b/src/kitemviews/private/kdirectorycontentscounter.h
@@ -78,7 +78,9 @@ private:
QQueue<QString> m_queue;
- QThread* m_workerThread;
+ static QThread* m_workerThread;
+ static int m_workersCount;
+
KDirectoryContentsCounterWorker* m_worker;
bool m_workerIsBusy;