1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-06 06:32:56 +01:00

Fix #23655: Crash with invalid widget index

This commit is contained in:
ζeh Matt
2025-01-21 12:00:24 +02:00
parent 5bec62c540
commit e454f27518

View File

@@ -290,7 +290,7 @@ namespace OpenRCT2
// Get window and widget under cursor position
w = windowMgr->FindFromPoint(screenCoords);
widgetIndex = w == nullptr ? -1 : windowMgr->FindWidgetFromPoint(*w, screenCoords);
widgetIndex = w == nullptr ? kWidgetIndexNull : windowMgr->FindWidgetFromPoint(*w, screenCoords);
widget = widgetIndex == kWidgetIndexNull ? nullptr : &w->widgets[widgetIndex];
switch (_inputState)
@@ -1557,7 +1557,8 @@ namespace OpenRCT2
{
if (gTooltipCursor == screenCoords)
{
if (gCurrentRealTimeTicks >= _tooltipNotShownTimeout && w != nullptr && WidgetIsVisible(*w, widgetIndex))
if (gCurrentRealTimeTicks >= _tooltipNotShownTimeout && w != nullptr && widgetIndex != kWidgetIndexNull
&& WidgetIsVisible(*w, widgetIndex))
{
gTooltipCloseTimeout = gCurrentRealTimeTicks + 8000;
WindowTooltipOpen(w, widgetIndex, screenCoords);