┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/views/versioncontrol/updateitemstatesthread.cpp12
-rw-r--r--src/views/versioncontrol/updateitemstatesthread.h3
2 files changed, 10 insertions, 5 deletions
diff --git a/src/views/versioncontrol/updateitemstatesthread.cpp b/src/views/versioncontrol/updateitemstatesthread.cpp
index ad53517ae..e6a0f68fa 100644
--- a/src/views/versioncontrol/updateitemstatesthread.cpp
+++ b/src/views/versioncontrol/updateitemstatesthread.cpp
@@ -26,22 +26,26 @@ UpdateItemStatesThread::~UpdateItemStatesThread()
void UpdateItemStatesThread::run()
{
Q_ASSERT(!m_itemStates.isEmpty());
- Q_ASSERT(m_plugin);
+ if (!m_plugin) {
+ return;
+ }
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() && m_plugin; ++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 && m_plugin; ++i) {
const KFileItem &item = items.at(i).first;
const KVersionControlPlugin::ItemVersion version = m_plugin->itemVersion(item);
items[i].second = version;
}
}
- m_plugin->endRetrieval();
+ if (m_plugin) {
+ m_plugin->endRetrieval();
+ }
}
}
diff --git a/src/views/versioncontrol/updateitemstatesthread.h b/src/views/versioncontrol/updateitemstatesthread.h
index 24f060d26..550436010 100644
--- a/src/views/versioncontrol/updateitemstatesthread.h
+++ b/src/views/versioncontrol/updateitemstatesthread.h
@@ -11,6 +11,7 @@
#include "views/versioncontrol/versioncontrolobserver.h"
#include <QMutex>
+#include <QPointer>
#include <QThread>
/**
@@ -41,7 +42,7 @@ protected:
private:
QMutex *m_globalPluginMutex; // Protects the m_plugin globally
- KVersionControlPlugin *m_plugin;
+ QPointer<KVersionControlPlugin> m_plugin;
QMap<QString, QVector<VersionControlObserver::ItemState>> m_itemStates;
};