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); }; }