diff options
Diffstat (limited to 'plugins/UserInfoEx/src/mir_contactqueue.cpp')
-rw-r--r-- | plugins/UserInfoEx/src/mir_contactqueue.cpp | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/plugins/UserInfoEx/src/mir_contactqueue.cpp b/plugins/UserInfoEx/src/mir_contactqueue.cpp index 9b49a2c261..8a93812287 100644 --- a/plugins/UserInfoEx/src/mir_contactqueue.cpp +++ b/plugins/UserInfoEx/src/mir_contactqueue.cpp @@ -83,13 +83,9 @@ void CContactQueue::RemoveAll(MCONTACT hContact) {
mir_cslock lck(_cs);
- auto T = _queue.rev_iter();
- for (auto &qi : T) {
- if (qi->hContact == hContact) {
- mir_free(qi);
- _queue.remove(T.indexOf(&qi));
- }
- }
+ for (auto &qi : _queue.rev_iter())
+ if (qi->hContact == hContact)
+ mir_free(_queue.removeItem(&qi));
}
/////////////////////////////////////////////////////////////////////////////////////////
@@ -99,12 +95,9 @@ void CContactQueue::RemoveAllConsiderParam(MCONTACT hContact, PVOID param) {
mir_cslock lck(_cs);
- auto T = _queue.rev_iter();
- for (auto &qi : T)
- if (qi->hContact == hContact && qi->param == param) {
- mir_free(qi);
- _queue.remove(T.indexOf(&qi));
- }
+ for (auto &qi : _queue.rev_iter())
+ if (qi->hContact == hContact && qi->param == param)
+ mir_free(_queue.removeItem(&qi));
}
/////////////////////////////////////////////////////////////////////////////////////////
|