summaryrefslogtreecommitdiff
path: root/Libraries/LibCore/CEventLoop.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Libraries/LibCore/CEventLoop.cpp')
-rw-r--r--Libraries/LibCore/CEventLoop.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/Libraries/LibCore/CEventLoop.cpp b/Libraries/LibCore/CEventLoop.cpp
index 719e136950..54b1830406 100644
--- a/Libraries/LibCore/CEventLoop.cpp
+++ b/Libraries/LibCore/CEventLoop.cpp
@@ -141,8 +141,12 @@ void CEventLoop::pump(WaitMode mode)
if (m_exit_requested) {
LOCKER(m_lock);
- // FIXME: Shouldn't we only prepend the events that haven't been processed yet?
- m_queued_events.prepend(move(events));
+ decltype(m_queued_events) new_event_queue;
+ new_event_queue.ensure_capacity(m_queued_events.size() + events.size());
+ for (; i < events.size(); ++i)
+ new_event_queue.unchecked_append(move(events[i]));
+ new_event_queue.append(move(m_queued_events));
+ m_queued_events = move(new_event_queue);
return;
}
}