summaryrefslogtreecommitdiff
path: root/plugins/UserInfoEx
diff options
context:
space:
mode:
authorGeorge Hazan <ghazan@miranda.im>2018-03-15 21:05:06 +0300
committerGeorge Hazan <ghazan@miranda.im>2018-03-15 21:05:06 +0300
commit59e6b15f513cc998ce13e9e49e2a6a3ace445ebb (patch)
treeaf52b73a17039ed1fbe398ba9f488c26a7071257 /plugins/UserInfoEx
parentbdaa5cf8b48515af2ac39f3f3245dd1183cbad52 (diff)
LIST<> iterators:
- new method LIST::removeItem added to save a pointer to removed record; - code cleaning related to the fact that LIST::remove() shall be the last operation inside an iterator, because otherwise the reference to it will point to a record next to deleted one; - a few remaining cycles converted to iterators
Diffstat (limited to 'plugins/UserInfoEx')
-rw-r--r--plugins/UserInfoEx/src/mir_contactqueue.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/plugins/UserInfoEx/src/mir_contactqueue.cpp b/plugins/UserInfoEx/src/mir_contactqueue.cpp
index 9ba36425ad..f74a5c1795 100644
--- a/plugins/UserInfoEx/src/mir_contactqueue.cpp
+++ b/plugins/UserInfoEx/src/mir_contactqueue.cpp
@@ -86,8 +86,8 @@ void CContactQueue::RemoveAll(MCONTACT hContact)
auto T = _queue.rev_iter();
for (auto &qi : T) {
if (qi->hContact == hContact) {
- _queue.remove(T.indexOf(&qi));
mir_free(qi);
+ _queue.remove(T.indexOf(&qi));
}
}
}
@@ -102,8 +102,8 @@ void CContactQueue::RemoveAllConsiderParam(MCONTACT hContact, PVOID param)
auto T = _queue.rev_iter();
for (auto &qi : T)
if (qi->hContact == hContact && qi->param == param) {
- _queue.remove(T.indexOf(&qi));
mir_free(qi);
+ _queue.remove(T.indexOf(&qi));
}
}