From f7c86debe33abad8da124585c1495c3af4100e7d Mon Sep 17 00:00:00 2001 From: Ted John Date: Thu, 8 Aug 2019 12:42:09 +0100 Subject: [PATCH] Fix #9767: NRE in window_tile_inspector_paint --- src/openrct2-ui/windows/TileInspector.cpp | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/openrct2-ui/windows/TileInspector.cpp b/src/openrct2-ui/windows/TileInspector.cpp index 88a06dbf2b..017b7312ee 100644 --- a/src/openrct2-ui/windows/TileInspector.cpp +++ b/src/openrct2-ui/windows/TileInspector.cpp @@ -1872,12 +1872,19 @@ static void window_tile_inspector_paint(rct_window* w, rct_drawpixelinfo* dpi) // Ride auto trackElement = tileElement->AsTrack(); int16_t rideId = trackElement->GetRideIndex(); - Ride* ride = get_ride(rideId); - rct_string_id rideType = RideNaming[ride->type].name; - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_TRACK_RIDE_TYPE, &rideType, COLOUR_DARK_GREEN, x, y); + auto ride = get_ride(rideId); + if (ride != nullptr) + { + auto rideType = RideNaming[ride->type].name; + gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_TRACK_RIDE_TYPE, &rideType, COLOUR_DARK_GREEN, x, y); + } gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_TRACK_RIDE_ID, &rideId, COLOUR_DARK_GREEN, x, y + 11); - ride->FormatNameTo(gCommonFormatArgs); - gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_TRACK_RIDE_NAME, gCommonFormatArgs, COLOUR_DARK_GREEN, x, y + 22); + if (ride != nullptr) + { + ride->FormatNameTo(gCommonFormatArgs); + gfx_draw_string_left( + dpi, STR_TILE_INSPECTOR_TRACK_RIDE_NAME, gCommonFormatArgs, COLOUR_DARK_GREEN, x, y + 22); + } // Track int16_t trackType = trackElement->GetTrackType(); int16_t sequenceNumber = trackElement->GetSequenceIndex();