diff options
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/stdmsg/src/cmdlist.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/core/stdmsg/src/cmdlist.cpp b/src/core/stdmsg/src/cmdlist.cpp index 3b44e921c9..23c6fbe20b 100644 --- a/src/core/stdmsg/src/cmdlist.cpp +++ b/src/core/stdmsg/src/cmdlist.cpp @@ -32,13 +32,11 @@ static VOID CALLBACK MsgTimer(HWND, UINT, UINT_PTR, DWORD dwTime) LIST<TMsgQueue> arTimedOut(1);
{
mir_cslock lck(csMsgQueue);
- for (int i = msgQueue.getCount() - 1; i >= 0; i--) {
- TMsgQueue *item = msgQueue[i];
- if (dwTime - item->ts > g_dat.msgTimeout) {
- arTimedOut.insert(item);
- msgQueue.remove(i);
+ for (auto &it : msgQueue.rev_iter())
+ if (dwTime - it->ts > g_dat.msgTimeout) {
+ arTimedOut.insert(it);
+ msgQueue.remove(it);
}
- }
}
for (auto &it : arTimedOut)
|