mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2025-12-22 07:13:07 +01:00
Fix #23701: Potential crash when using mouse wheel on some widgets
This commit is contained in:
@@ -164,6 +164,9 @@ namespace OpenRCT2
|
|||||||
if (widgets[index].type != WindowWidgetType::Spinner && widgets[index].type != WindowWidgetType::ImgBtn)
|
if (widgets[index].type != WindowWidgetType::Spinner && widgets[index].type != WindowWidgetType::ImgBtn)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
if (static_cast<size_t>(index + 2) >= widgets.size())
|
||||||
|
return false;
|
||||||
|
|
||||||
if (widgets[index + 1].type != buttonType)
|
if (widgets[index + 1].type != buttonType)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
@@ -241,6 +244,8 @@ namespace OpenRCT2
|
|||||||
targetWidgetIndex += wheel < 0 ? 1 : 2;
|
targetWidgetIndex += wheel < 0 ? 1 : 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
assert(targetWidgetIndex >= 0 && targetWidgetIndex < w.widgets.size());
|
||||||
|
|
||||||
if (WidgetIsDisabled(w, targetWidgetIndex))
|
if (WidgetIsDisabled(w, targetWidgetIndex))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
Reference in New Issue
Block a user