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 --- protocols/Steam/src/steam_request.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'protocols/Steam') 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 -- cgit v1.2.3