mirror of
https://github.com/fergalmoran/ladybird.git
synced 2025-12-22 09:19:03 +00:00
GEventLoop: Don't call process_unprocessed_messages() from itself.
This could be tail-call-optimized but it's not, so we end up overflowing the stack space if we recurse too many times. This was causing crashes when resizing Minesweeper.
This commit is contained in:
@@ -316,9 +316,6 @@ void GEventLoop::process_unprocessed_bundles()
|
||||
if (coalesced_resizes)
|
||||
dbgprintf("Coalesced %d resizes\n", coalesced_resizes);
|
||||
#endif
|
||||
|
||||
if (!m_unprocessed_bundles.is_empty())
|
||||
process_unprocessed_bundles();
|
||||
}
|
||||
|
||||
bool GEventLoop::drain_messages_from_server()
|
||||
|
||||
@@ -43,7 +43,8 @@ private:
|
||||
|
||||
virtual void do_processing() override
|
||||
{
|
||||
process_unprocessed_bundles();
|
||||
while (!m_unprocessed_bundles.is_empty())
|
||||
process_unprocessed_bundles();
|
||||
}
|
||||
|
||||
void wait_for_event();
|
||||
|
||||
Reference in New Issue
Block a user