X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/3c41cd3c9dcae1169024e455861ee6f1515bdcc8..509464cce954f7fc4b00a9dafc2bc6355eb99ec6:/src/views/versioncontrol/versioncontrolobserver.cpp diff --git a/src/views/versioncontrol/versioncontrolobserver.cpp b/src/views/versioncontrol/versioncontrolobserver.cpp index 86049efa3..42e00de42 100644 --- a/src/views/versioncontrol/versioncontrolobserver.cpp +++ b/src/views/versioncontrol/versioncontrolobserver.cpp @@ -21,7 +21,6 @@ #include "dolphin_versioncontrolsettings.h" -#include #include #include #include @@ -30,6 +29,7 @@ #include "updateitemstatesthread.h" +#include #include #include @@ -90,7 +90,17 @@ KFileItemModel* VersionControlObserver::model() const QList VersionControlObserver::actions(const KFileItemList& items) const { QList actions; - if (!m_model) { + + bool hasNullItems = false; + foreach (const KFileItem& item, items) { + if (item.isNull()) { + kWarning() << "Requesting version-control-actions for empty items"; + hasNullItems = true; + break; + } + } + + if (!m_model || hasNullItems) { return actions; } @@ -195,7 +205,7 @@ void VersionControlObserver::slotThreadFinished() UpdateItemStatesThread* thread = m_updateItemStatesThread; m_updateItemStatesThread = 0; // The thread deletes itself automatically (see updateItemStates()) - if (!m_plugin) { + if (!m_plugin || !thread) { return; } @@ -298,7 +308,6 @@ KVersionControlPlugin* VersionControlObserver::searchPlugin(const KUrl& director // 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;