]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/views/versioncontrol/versioncontrolobserver.cpp
Merge branch 'release/20.12'
[dolphin.git] / src / views / versioncontrol / versioncontrolobserver.cpp
index 5f7c34194cd43022f2e667dd66124ac69173db21..cf5be3c9163355429d04a9870037e4ed2c8c7432 100644 (file)
@@ -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;
@@ -155,7 +155,7 @@ void VersionControlObserver::verifyDirectory()
     }
 
     if (m_plugin != nullptr) {
-        if (!rootItem.url().path().startsWith(m_wcRoot) || !QFile::exists(m_wcRoot + '/' + m_plugin->fileName())) {
+        if (!rootItem.url().path().startsWith(m_localRepoRoot) || !QFile::exists(m_localRepoRoot + '/' + m_plugin->fileName())) {
             m_plugin = nullptr;
 
             // The directory is not versioned. Reset the verification timer to a higher
@@ -306,16 +306,20 @@ 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_wcRoot = directory.path();
+            m_localRepoRoot = directory.path();
             return plugin;
         }
-        auto wcRoot = plugin->localRepositoryRoot(directory.path());
-        if (!wcRoot.isEmpty()) {
-            m_wcRoot = wcRoot;
+        const QString root = plugin->localRepositoryRoot(directory.path());
+        if (!root.isEmpty()) {
+            m_localRepoRoot = root;
             return plugin;
         }
     }