[plasma/plasma-desktop] /: Prevent detaching in range-based for-loop

Christoph Grüninger <[email protected]>
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git commit 606724cd8ef585cd009e1eea907213521f77e284 by Christoph Grüninger.
Committed on 19/07/2026 at 14:28.
Pushed by davidedmundson into branch 'master'.

Prevent detaching in range-based for-loop

Use std::as_const.
Found by Clazy (range-loop-detach).

M  +2    -2    applets/taskmanager/backend.cpp
M  +1    -1    emojier/emojidict.cpp
M  +1    -1    emojier/emojidict.h
M  +2    -2    emojier/emojierplugin.cpp
M  +2    -2    imports/activitymanager/sortedactivitiesmodel.cpp

https://invent.kde.org/plasma/plasma-desktop/-/commit/606724cd8ef585cd009e1eea907213521f77e284

diff --git a/applets/taskmanager/backend.cpp b/applets/taskmanager/backend.cpp
index a631cf7191..8536f45327 100644
--- a/applets/taskmanager/backend.cpp
+++ b/applets/taskmanager/backend.cpp
@@ -618,7 +618,7 @@ Backend *Backend::findTargetBackend()
 
     Backend *fallback = nullptr;
 
-    for (auto *instance : s_instances) {
+    for (auto *instance : std::as_const(s_instances)) {
         if (!instance->m_hasActiveTask) {
             continue;
         }
@@ -635,7 +635,7 @@ Backend *Backend::findTargetBackend()
 
 void Backend::dispatchActivateTaskAtIndex(int index)
 {
-    for (auto *instance : s_instances) {
+    for (auto *instance : std::as_const(s_instances)) {
         Q_EMIT instance->activateTaskAtIndexRequested(index);
     }
 }
diff --git a/emojier/emojidict.cpp b/emojier/emojidict.cpp
index faa7b517e8..6accc08bf4 100644
--- a/emojier/emojidict.cpp
+++ b/emojier/emojidict.cpp
@@ -57,7 +57,7 @@ void EmojiDict::load(const QString &path)
     int skinToneVariantIndex = 0;
     int twoToneVariantIndex = 0;
     bool searchNeutralForTwoTone = false;
-    for (const auto &emoji : emojis) {
+    for (const auto &emoji : std::as_const(emojis)) {
         if (auto iter = m_processedEmojis.find(emoji.content); iter != m_processedEmojis.end()) {
             // Overwrite with new data but keep previous description as fallback.
             replaceEmoji(m_emojis[iter.value()], emoji);
diff --git a/emojier/emojidict.h b/emojier/emojidict.h
index b502c43bf3..6e0034a98d 100644
--- a/emojier/emojidict.h
+++ b/emojier/emojidict.h
@@ -48,7 +48,7 @@ inline QDataStream &operator>>(QDataStream &stream, Emoji &emoji)
     stream >> emoji.category;
     QList<QByteArray> annotationBuffers;
     stream >> annotationBuffers;
-    for (const auto &annotation : annotationBuffers) {
+    for (const auto &annotation : std::as_const(annotationBuffers)) {
         emoji.annotations << QString::fromUtf8(annotation);
     }
 
diff --git a/emojier/emojierplugin.cpp b/emojier/emojierplugin.cpp
index 1ec742ba7e..1f9c5e31cb 100644
--- a/emojier/emojierplugin.cpp
+++ b/emojier/emojierplugin.cpp
@@ -156,7 +156,7 @@ EmojiModel::EmojiModel()
     }
     m_emoji = std::move(dict.m_emojis);
     m_tonedEmojis = std::move(dict.m_tonedEmojis);
-    for (const auto &emoji : m_emoji) {
+    for (const auto &emoji : std::as_const(m_emoji)) {
         categories.insert(emoji.categoryName());
     }
     m_categories = categories.values();
@@ -185,7 +185,7 @@ EmojiModel::~EmojiModel()
 
 QString EmojiModel::findFirstEmojiForCategory(const QString &category)
 {
-    for (const Emoji &emoji : m_emoji) {
+    for (const Emoji &emoji : std::as_const(m_emoji)) {
         if (emoji.categoryName() == category)
             return emoji.content;
     }
diff --git a/imports/activitymanager/sortedactivitiesmodel.cpp b/imports/activitymanager/sortedactivitiesmodel.cpp
index 675c6b7d24..7b22029e3a 100644
--- a/imports/activitymanager/sortedactivitiesmodel.cpp
+++ b/imports/activitymanager/sortedactivitiesmodel.cpp
@@ -161,7 +161,7 @@ public:
 
         // Removing the activities from the list if we haven't found them
         // while traversing through the containments
-        for (const auto &activity : ghostActivities) {
+        for (const auto &activity : std::as_const(ghostActivities)) {
             newForActivity.remove(activity);
         }
 
@@ -169,7 +169,7 @@ public:
         if (!changedActivities.isEmpty()) {
             forActivity = newForActivity;
 
-            for (auto model : models) {
+            for (auto model : std::as_const(models)) {
                 model->onBackgroundsUpdated(changedActivities);
             }
         }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.