#include "dolphin_versioncontrolsettings.h"
-#include <KDirLister>
#include <KLocale>
#include <KService>
#include <KServiceTypeTrader>
#include "updateitemstatesthread.h"
+#include <QFile>
#include <QMutexLocker>
#include <QTimer>
return;
}
- const KUrl versionControlUrl = m_model->rootItem().url();
- if (!versionControlUrl.isLocalFile()) {
+ const KFileItem rootItem = m_model->rootItem();
+ if (rootItem.isNull() || !rootItem.url().isLocalFile()) {
return;
}
m_plugin->disconnect(this);
}
- m_plugin = searchPlugin(versionControlUrl);
+ m_plugin = searchPlugin(rootItem.url());
if (m_plugin) {
KVersionControlPlugin2* pluginV2 = qobject_cast<KVersionControlPlugin2*>(m_plugin);
if (pluginV2) {
UpdateItemStatesThread* thread = m_updateItemStatesThread;
m_updateItemStatesThread = 0; // The thread deletes itself automatically (see updateItemStates())
- if (!m_plugin) {
+ if (!m_plugin || !thread) {
return;
}
// Verify whether the current directory contains revision information
// like .svn, .git, ...
foreach (KVersionControlPlugin* plugin, plugins) {
- // Use the KDirLister cache to check for .svn, .git, ... files
const QString fileName = directory.path(KUrl::AddTrailingSlash) + plugin->fileName();
if (QFile::exists(fileName)) {
return plugin;