From 59e6b15f513cc998ce13e9e49e2a6a3ace445ebb Mon Sep 17 00:00:00 2001 From: George Hazan Date: Thu, 15 Mar 2018 21:05:06 +0300 Subject: 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 --- plugins/UserInfoEx/src/mir_contactqueue.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'plugins/UserInfoEx/src') 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)); } } -- cgit v1.2.3