diff options
author | George Hazan <ghazan@miranda.im> | 2018-03-15 21:05:06 +0300 |
---|---|---|
committer | George Hazan <ghazan@miranda.im> | 2018-03-15 21:05:06 +0300 |
commit | 59e6b15f513cc998ce13e9e49e2a6a3ace445ebb (patch) | |
tree | af52b73a17039ed1fbe398ba9f488c26a7071257 /protocols/Steam | |
parent | bdaa5cf8b48515af2ac39f3f3245dd1183cbad52 (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 'protocols/Steam')
-rw-r--r-- | protocols/Steam/src/steam_request.cpp | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/protocols/Steam/src/steam_request.cpp b/protocols/Steam/src/steam_request.cpp index 51b09ecfc3..06e83c4c25 100644 --- a/protocols/Steam/src/steam_request.cpp +++ b/protocols/Steam/src/steam_request.cpp @@ -91,13 +91,11 @@ void CSteamProto::RequestQueueThread(void*) ProcessRequestQueue();
WaitForSingleObject(m_hRequestsQueueEvent, 1000);
} while (!m_isTerminated);
- {
- mir_cslock lock(m_requestQueueLock);
- for (int i = 0; i < m_requestQueue.getCount(); i++) {
- delete m_requestQueue[i];
- m_requestQueue.remove(i);
- }
- }
+
m_hRequestQueueThread = nullptr;
+ mir_cslock lock(m_requestQueueLock);
+ for (auto &it : m_requestQueue)
+ delete it;
+ m_requestQueue.destroy();
}
\ No newline at end of file |