diff options
author | Eike Ziller <eike.ziller@qt.io> | 2017-10-19 13:34:41 +0200 |
---|---|---|
committer | Eike Ziller <eike.ziller@qt.io> | 2017-10-19 15:58:02 +0000 |
commit | 30f0b6857a89f1ea9507fef5f03afb00cf792dae (patch) | |
tree | c3fd9beb73485c24a5ebc792155896facfb69f14 | |
parent | 56366cfd72cd43ce6d122a040831c3c32619dfea (diff) | |
download | qt-creator-30f0b6857a89f1ea9507fef5f03afb00cf792dae.tar.gz |
ExtensionSystem: Avoid using iterators from temporaries
Doing it can lead to unexpected results
Change-Id: I602cf6a4692c9e0c0adb4564679478ea25bf8829
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
-rw-r--r-- | src/libs/extensionsystem/pluginmanager.cpp | 2 | ||||
-rw-r--r-- | src/libs/extensionsystem/pluginview.cpp | 5 |
2 files changed, 4 insertions, 3 deletions
diff --git a/src/libs/extensionsystem/pluginmanager.cpp b/src/libs/extensionsystem/pluginmanager.cpp index fd554be585..92c02d85f1 100644 --- a/src/libs/extensionsystem/pluginmanager.cpp +++ b/src/libs/extensionsystem/pluginmanager.cpp @@ -442,7 +442,7 @@ QString PluginManager::systemInformation() const if (response.result == SynchronousProcessResponse::Finished) result += response.allOutput() + "\n"; result += "Plugin information:\n\n"; - auto longestSpec = std::max_element(plugins().cbegin(), plugins().cend(), + auto longestSpec = std::max_element(d->pluginSpecs.cbegin(), d->pluginSpecs.cend(), [](const PluginSpec *left, const PluginSpec *right) { return left->name().size() < right->name().size(); }); diff --git a/src/libs/extensionsystem/pluginview.cpp b/src/libs/extensionsystem/pluginview.cpp index 96052579ee..ec9dd7d722 100644 --- a/src/libs/extensionsystem/pluginview.cpp +++ b/src/libs/extensionsystem/pluginview.cpp @@ -421,8 +421,9 @@ void PluginView::updatePlugins() QList<CollectionItem *> collections; - auto end = PluginManager::pluginCollections().cend(); - for (auto it = PluginManager::pluginCollections().cbegin(); it != end; ++it) { + const QHash<QString, QList<PluginSpec *>> pluginCollections = PluginManager::pluginCollections(); + const auto end = pluginCollections.cend(); + for (auto it = pluginCollections.cbegin(); it != end; ++it) { const QString name = it.key().isEmpty() ? tr("Utilities") : it.key(); collections.append(new CollectionItem(name, it.value(), this)); } |