From 85d6fa8c8b83175bc917b4f7328d32402dcb90fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Janiszewski?= Date: Fri, 3 Apr 2020 09:55:01 +0200 Subject: [PATCH] Revert "Guard against null banners (#11078)" This is being reverted now that we have replay records uploaded as part of the backtrace.io information to try figuring out the root cause. This reverts commit 47b61395468822e44947473576afb60efbc75745. --- .../interface/ViewportInteraction.cpp | 40 +++++++++---------- src/openrct2-ui/windows/Sign.cpp | 4 +- 2 files changed, 19 insertions(+), 25 deletions(-) diff --git a/src/openrct2-ui/interface/ViewportInteraction.cpp b/src/openrct2-ui/interface/ViewportInteraction.cpp index 277ece1273..736c611b21 100644 --- a/src/openrct2-ui/interface/ViewportInteraction.cpp +++ b/src/openrct2-ui/interface/ViewportInteraction.cpp @@ -327,17 +327,15 @@ int32_t viewport_interaction_get_item_right(const ScreenCoordsXY& screenCoords, if (sceneryEntry->wall.scrolling_mode != SCROLLING_MODE_NONE) { auto banner = tileElement->AsWall()->GetBanner(); - if (banner != nullptr) - { - size_t argPos = 0; - set_map_tooltip_format_arg(argPos, rct_string_id, STR_MAP_TOOLTIP_BANNER_STRINGID_STRINGID); - argPos += sizeof(rct_string_id); - argPos += banner->FormatTextTo(gMapTooltipFormatArgs + argPos); - set_map_tooltip_format_arg(argPos, rct_string_id, STR_MAP_TOOLTIP_STRINGID_CLICK_TO_MODIFY); - argPos += sizeof(rct_string_id); - set_map_tooltip_format_arg(argPos, rct_string_id, sceneryEntry->name); - return info->type; - } + + size_t argPos = 0; + set_map_tooltip_format_arg(argPos, rct_string_id, STR_MAP_TOOLTIP_BANNER_STRINGID_STRINGID); + argPos += sizeof(rct_string_id); + argPos += banner->FormatTextTo(gMapTooltipFormatArgs + argPos); + set_map_tooltip_format_arg(argPos, rct_string_id, STR_MAP_TOOLTIP_STRINGID_CLICK_TO_MODIFY); + argPos += sizeof(rct_string_id); + set_map_tooltip_format_arg(argPos, rct_string_id, sceneryEntry->name); + return info->type; } break; @@ -346,17 +344,15 @@ int32_t viewport_interaction_get_item_right(const ScreenCoordsXY& screenCoords, if (sceneryEntry->large_scenery.scrolling_mode != SCROLLING_MODE_NONE) { auto banner = tileElement->AsLargeScenery()->GetBanner(); - if (banner != nullptr) - { - size_t argPos = 0; - set_map_tooltip_format_arg(argPos, rct_string_id, STR_MAP_TOOLTIP_BANNER_STRINGID_STRINGID); - argPos += sizeof(rct_string_id); - argPos += banner->FormatTextTo(gMapTooltipFormatArgs + argPos); - set_map_tooltip_format_arg(argPos, rct_string_id, STR_MAP_TOOLTIP_STRINGID_CLICK_TO_MODIFY); - argPos += sizeof(rct_string_id); - set_map_tooltip_format_arg(argPos, rct_string_id, sceneryEntry->name); - return info->type; - } + + size_t argPos = 0; + set_map_tooltip_format_arg(argPos, rct_string_id, STR_MAP_TOOLTIP_BANNER_STRINGID_STRINGID); + argPos += sizeof(rct_string_id); + argPos += banner->FormatTextTo(gMapTooltipFormatArgs + argPos); + set_map_tooltip_format_arg(argPos, rct_string_id, STR_MAP_TOOLTIP_STRINGID_CLICK_TO_MODIFY); + argPos += sizeof(rct_string_id); + set_map_tooltip_format_arg(argPos, rct_string_id, sceneryEntry->name); + return info->type; } break; diff --git a/src/openrct2-ui/windows/Sign.cpp b/src/openrct2-ui/windows/Sign.cpp index aee4ce143a..42d0eb967b 100644 --- a/src/openrct2-ui/windows/Sign.cpp +++ b/src/openrct2-ui/windows/Sign.cpp @@ -156,10 +156,8 @@ rct_window* window_sign_open(rct_windownumber number) window_init_scroll_widgets(w); auto banner = GetBanner(w->number); - if (banner == nullptr) - return nullptr; - auto signViewPos = banner->position.ToCoordsXY().ToTileCentre(); + TileElement* tile_element = map_get_first_element_at(signViewPos); if (tile_element == nullptr) return nullptr;