]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/views/versioncontrol/updateitemstatesthread.cpp
GIT_SILENT Sync po/docbooks with svn
[dolphin.git] / src / views / versioncontrol / updateitemstatesthread.cpp
index 37c36f40c949d545179bc030ecb922af6a6beea0..c008d1d03e839eca4f46edf907f87a6b32b0bafa 100644 (file)
@@ -26,15 +26,14 @@ UpdateItemStatesThread::~UpdateItemStatesThread()
 void UpdateItemStatesThread::run()
 {
     Q_ASSERT(!m_itemStates.isEmpty());
-    Q_ASSERT(m_plugin);
 
     QMutexLocker pluginLocker(m_globalPluginMutex);
     QMap<QString, QVector<VersionControlObserver::ItemState>>::iterator it = m_itemStates.begin();
-    for (; it != m_itemStates.end(); ++it) {
+    for (; it != m_itemStates.end() && !isInterruptionRequested(); ++it) {
         if (m_plugin->beginRetrieval(it.key())) {
             QVector<VersionControlObserver::ItemState> &items = it.value();
             const int count = items.count();
-            for (int i = 0; i < count; ++i) {
+            for (int i = 0; i < count && !isInterruptionRequested(); ++i) {
                 const KFileItem &item = items.at(i).first;
                 const KVersionControlPlugin::ItemVersion version = m_plugin->itemVersion(item);
                 items[i].second = version;
@@ -49,3 +48,5 @@ QMap<QString, QVector<VersionControlObserver::ItemState>> UpdateItemStatesThread
 {
     return m_itemStates;
 }
+
+#include "moc_updateitemstatesthread.cpp"