From 1031955033b54bd7341c02d8ba57c2dc43da3df1 Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Fri, 24 Mar 2023 22:27:26 +0000 Subject: [PATCH] Console: check_caches should also log failure messages to the console --- src/console_cmds.cpp | 5 ++++- src/openttd.cpp | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/console_cmds.cpp b/src/console_cmds.cpp index 83fe33be51..229d84face 100644 --- a/src/console_cmds.cpp +++ b/src/console_cmds.cpp @@ -3022,7 +3022,10 @@ DEF_CONSOLE_CMD(ConCheckCaches) if (broadcast) { DoCommandP(0, 0, 0, CMD_DESYNC_CHECK); } else { - CheckCaches(true, nullptr, CHECK_CACHE_ALL | CHECK_CACHE_EMIT_LOG); + auto logger = [&](const char *str) { + IConsolePrint(CC_WARNING, str); + }; + CheckCaches(true, logger, CHECK_CACHE_ALL | CHECK_CACHE_EMIT_LOG); } return true; diff --git a/src/openttd.cpp b/src/openttd.cpp index da2a98e2de..5fd6468a36 100644 --- a/src/openttd.cpp +++ b/src/openttd.cpp @@ -1473,8 +1473,11 @@ void CheckCaches(bool force_check, std::function log, CheckC } std::vector saved_messages; + std::function log_orig; if (flags & CHECK_CACHE_EMIT_LOG) { - log = [&saved_messages](const char *str) { + log_orig = std::move(log); + log = [&saved_messages, &log_orig](const char *str) { + if (log_orig) log_orig(str); saved_messages.emplace_back(str); }; }