diff --git a/src/plugins/coreplugin/vcsmanager.cpp b/src/plugins/coreplugin/vcsmanager.cpp index dd5963eb1ad..5d50f9b56cc 100644 --- a/src/plugins/coreplugin/vcsmanager.cpp +++ b/src/plugins/coreplugin/vcsmanager.cpp @@ -173,17 +173,18 @@ VcsManager *VcsManager::instance() void VcsManager::extensionsInitialized() { // Change signal connections - const QList versionControlList = versionControls(); - for (const IVersionControl *versionControl : versionControlList) { - connect(versionControl, &IVersionControl::filesChanged, DocumentManager::instance(), - [](const QStringList fileNames) { - DocumentManager::notifyFilesChangedInternally( + const QList vcs = versionControls(); + for (IVersionControl *vc : vcs) { + connect(vc, &IVersionControl::filesChanged, DocumentManager::instance(), + [](const QStringList &fileNames) { + DocumentManager::notifyFilesChangedInternally( Utils::transform(fileNames, &Utils::FilePath::fromString)); - }); - connect(versionControl, &IVersionControl::repositoryChanged, + }); + connect(vc, &IVersionControl::repositoryChanged, m_instance, &VcsManager::repositoryChanged); - connect(versionControl, &IVersionControl::configurationChanged, - m_instance, &VcsManager::handleConfigurationChanges); + connect(vc, &IVersionControl::configurationChanged, m_instance, [vc] { + m_instance->handleConfigurationChanges(vc); + }); } } @@ -474,12 +475,10 @@ void VcsManager::clearVersionControlCache() emit m_instance->repositoryChanged(FilePath::fromString(repo)); } -void VcsManager::handleConfigurationChanges() +void VcsManager::handleConfigurationChanges(IVersionControl *vc) { d->m_cachedAdditionalToolsPathsDirty = true; - auto vcs = qobject_cast(sender()); - if (vcs) - emit configurationChanged(vcs); + emit configurationChanged(vc); } } // namespace Core diff --git a/src/plugins/coreplugin/vcsmanager.h b/src/plugins/coreplugin/vcsmanager.h index 3dcfb8df669..e9cb02bdd70 100644 --- a/src/plugins/coreplugin/vcsmanager.h +++ b/src/plugins/coreplugin/vcsmanager.h @@ -106,7 +106,7 @@ private: explicit VcsManager(QObject *parent = nullptr); ~VcsManager() override; - void handleConfigurationChanges(); + void handleConfigurationChanges(IVersionControl *vc); static void addVersionControl(IVersionControl *vc); friend class Core::Internal::MainWindow;