diff --git a/src/openrct2-ui/interface/Window.cpp b/src/openrct2-ui/interface/Window.cpp index dfd52d0c8f..3216a66a1c 100644 --- a/src/openrct2-ui/interface/Window.cpp +++ b/src/openrct2-ui/interface/Window.cpp @@ -164,6 +164,9 @@ namespace OpenRCT2 if (widgets[index].type != WindowWidgetType::Spinner && widgets[index].type != WindowWidgetType::ImgBtn) return false; + if (static_cast(index + 2) >= widgets.size()) + return false; + if (widgets[index + 1].type != buttonType) return false; @@ -241,6 +244,8 @@ namespace OpenRCT2 targetWidgetIndex += wheel < 0 ? 1 : 2; } + assert(targetWidgetIndex >= 0 && targetWidgetIndex < w.widgets.size()); + if (WidgetIsDisabled(w, targetWidgetIndex)) { return false;