[pim/trojita] src: Prevent range for loop from detaching containers

Espen Sandøy Hustad <[email protected]>
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git commit c79da981638500604201c2452e4bf3a9edb8720d by Espen Sandøy Hustad.
Committed on 03/08/2026 at 19:01.
Pushed by ehustad into branch 'master'.

Prevent range for loop from detaching containers

Fixes Clazy warning: c++11 range-loop might detach Qt
container (QList) [-Wclazy-range-loop-detach]

M  +1    -1    src/Gui/ComposeWidget.cpp
M  +1    -1    src/Gui/MailBoxTreeView.cpp
M  +1    -1    src/Imap/Tasks/FetchMsgPartTask.cpp

https://invent.kde.org/pim/trojita/-/commit/c79da981638500604201c2452e4bf3a9edb8720d

diff --git a/src/Gui/ComposeWidget.cpp b/src/Gui/ComposeWidget.cpp
index b94afa165..cb70248af 100644
--- a/src/Gui/ComposeWidget.cpp
+++ b/src/Gui/ComposeWidget.cpp
@@ -1229,7 +1229,7 @@ void ComposeWidget::updateRecipientList()
 void ComposeWidget::gotoNextInputLineFrom(QWidget *w)
 {
     bool wFound = false;
-    for(Recipient recipient : m_recipients) {
+    for(const auto &recipient : std::as_const(m_recipients)) {
         if (wFound) {
             recipient.second->setFocus();
             return;
diff --git a/src/Gui/MailBoxTreeView.cpp b/src/Gui/MailBoxTreeView.cpp
index dc0ea7670..6caab3ee6 100644
--- a/src/Gui/MailBoxTreeView.cpp
+++ b/src/Gui/MailBoxTreeView.cpp
@@ -182,7 +182,7 @@ void MailBoxTreeView::setDesiredExpansion(const QStringList &mailboxNames)
 void MailBoxTreeView::resetWatchedMailboxes()
 {
     if (m_mailboxFinder) {
-        for (const auto &mailbox: m_desiredExpansionState) {
+        for (const auto &mailbox: std::as_const(m_desiredExpansionState)) {
             m_mailboxFinder->addMailbox(mailbox);
         }
     }
diff --git a/src/Imap/Tasks/FetchMsgPartTask.cpp b/src/Imap/Tasks/FetchMsgPartTask.cpp
index 9f02c4ecb..d0c729e2f 100644
--- a/src/Imap/Tasks/FetchMsgPartTask.cpp
+++ b/src/Imap/Tasks/FetchMsgPartTask.cpp
@@ -131,7 +131,7 @@ void FetchMsgPartTask::doForAllParts(const std::function<void(TreeItemPart *, co
     Q_ASSERT(mailbox);
     const auto messages = model->findMessagesByUids(mailbox, uids);
     for(auto message: messages) {
-        for (const auto &partId: parts) {
+        for (const auto &partId: std::as_const(parts)) {
             auto part = mailbox->partIdToPtr(model, static_cast<TreeItemMessage *>(message), partId);
             f(part, partId, message->uid());
         }
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.