From 4764cc5769f28f3ce9f1aade66e52e948478b57b Mon Sep 17 00:00:00 2001 From: Matt <5415177+ZehMatt@users.noreply.github.com> Date: Fri, 17 Oct 2025 12:53:18 +0300 Subject: [PATCH] Use primitive for loop for window iterations, iterators can invalidate --- src/openrct2/interface/Window.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/openrct2/interface/Window.cpp b/src/openrct2/interface/Window.cpp index 8773b3dc30..f69a50ab42 100644 --- a/src/openrct2/interface/Window.cpp +++ b/src/openrct2/interface/Window.cpp @@ -83,8 +83,9 @@ static constexpr float kWindowScrollLocations[][2] = { void WindowVisitEach(std::function func) { - for (auto& w : gWindowList) + for (size_t i = 0; i < gWindowList.size(); i++) { + auto& w = gWindowList[i]; if (w->flags.has(WindowFlag::dead)) continue; func(w.get());