CEventLoop: When asked to exit the event loop, exit right away.

Don't process any more events. We already prepend the remaining events in
this loop to the outer loop if needed.

If there were any more events queued after the exit request, the iteration
code would make an invalid access into 'queued_events'.

Fixes #300.
This commit is contained in:
Andreas Kling 2019-07-13 19:52:56 +02:00
commit 302cae5c2f
Notes: sideshowbarker 2024-07-19 13:17:46 +09:00

View file

@ -139,6 +139,7 @@ void CEventLoop::pump(WaitMode mode)
auto rejigged_event_queue = move(events);
rejigged_event_queue.append(move(m_queued_events));
m_queued_events = move(rejigged_event_queue);
return;
}
}
}