浏览代码

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.
Andreas Kling 6 年之前
父节点
当前提交
302cae5c2f
共有 1 个文件被更改,包括 1 次插入0 次删除
  1. 1 0
      Libraries/LibCore/CEventLoop.cpp

+ 1 - 0
Libraries/LibCore/CEventLoop.cpp

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