diff --git a/Libraries/LibWeb/HTML/EventLoop/EventLoop.cpp b/Libraries/LibWeb/HTML/EventLoop/EventLoop.cpp index 1093c7e7bc5..ed0960a9b55 100644 --- a/Libraries/LibWeb/HTML/EventLoop/EventLoop.cpp +++ b/Libraries/LibWeb/HTML/EventLoop/EventLoop.cpp @@ -594,7 +594,8 @@ void EventLoop::perform_a_microtask_checkpoint() } // 4. For each environment settings object settingsObject whose responsible event loop is this event loop, notify about rejected promises given settingsObject's global object. - for (auto& environment_settings_object : m_related_environment_settings_objects) { + auto environments = GC::RootVector { heap(), m_related_environment_settings_objects }; + for (auto& environment_settings_object : environments) { auto* global = dynamic_cast(&environment_settings_object->global_object()); VERIFY(global); global->notify_about_rejected_promises({});