diff options
| -rw-r--r-- | src/views/versioncontrol/versioncontrolobserver.cpp | 10 | ||||
| -rw-r--r-- | src/views/versioncontrol/versioncontrolobserver.h | 2 |
2 files changed, 8 insertions, 4 deletions
diff --git a/src/views/versioncontrol/versioncontrolobserver.cpp b/src/views/versioncontrol/versioncontrolobserver.cpp index 709d98e42..cf5be3c91 100644 --- a/src/views/versioncontrol/versioncontrolobserver.cpp +++ b/src/views/versioncontrol/versioncontrolobserver.cpp @@ -112,7 +112,7 @@ QList<QAction*> VersionControlObserver::actions(const KFileItemList& items) cons return m_plugin->versionControlActions(items); } else { QList<QAction*> actions; - for (const auto &plugin : qAsConst(m_plugins)) { + for (const QPointer<KVersionControlPlugin> &plugin : qAsConst(m_plugins)) { actions << plugin->outOfVersionControlActions(items); } return actions; @@ -306,14 +306,18 @@ KVersionControlPlugin* VersionControlObserver::searchPlugin(const QUrl& director initPlugins(); // Verify whether the current directory is under a version system - for (const auto &plugin : qAsConst(m_plugins)) { + for (const QPointer<KVersionControlPlugin> &plugin : qAsConst(m_plugins)) { + if (!plugin) { + continue; + } + // first naively check if we are at working copy root const QString fileName = directory.path() + '/' + plugin->fileName(); if (QFile::exists(fileName)) { m_localRepoRoot = directory.path(); return plugin; } - auto root = plugin->localRepositoryRoot(directory.path()); + const QString root = plugin->localRepositoryRoot(directory.path()); if (!root.isEmpty()) { m_localRepoRoot = root; return plugin; diff --git a/src/views/versioncontrol/versioncontrolobserver.h b/src/views/versioncontrol/versioncontrolobserver.h index d9cc90cc6..5f425fe85 100644 --- a/src/views/versioncontrol/versioncontrolobserver.h +++ b/src/views/versioncontrol/versioncontrolobserver.h @@ -146,7 +146,7 @@ private: bool m_pluginsInitialized; KVersionControlPlugin* m_plugin; - QList<KVersionControlPlugin*> m_plugins; + QList<QPointer<KVersionControlPlugin>> m_plugins; UpdateItemStatesThread* m_updateItemStatesThread; friend class UpdateItemStatesThread; |
