diff --git a/src/openrct2/world/Banner.cpp b/src/openrct2/world/Banner.cpp index d85e51bc97..6ae2f8c285 100644 --- a/src/openrct2/world/Banner.cpp +++ b/src/openrct2/world/Banner.cpp @@ -51,9 +51,9 @@ void Banner::FormatTextTo(Formatter& ft, bool addColour) const if (addColour) { auto formatToken = FormatTokenFromTextColour(text_colour); - auto tokenText = FormatTokenToStringWithBraces(formatToken); + formattedTextBuffer = FormatTokenToStringWithBraces(formatToken); ft.Add(STR_STRING_STRINGID); - ft.Add(tokenText.data()); + ft.Add(formattedTextBuffer.data()); } FormatTextTo(ft); diff --git a/src/openrct2/world/Banner.h b/src/openrct2/world/Banner.h index 3af61e3e74..ade42af3ab 100644 --- a/src/openrct2/world/Banner.h +++ b/src/openrct2/world/Banner.h @@ -36,6 +36,7 @@ struct Banner ObjectEntryIndex type = BANNER_NULL; uint8_t flags{}; std::string text; + mutable std::string formattedTextBuffer; uint8_t colour{}; RideId ride_index{}; uint8_t text_colour{};