diff options
author | Tor Lillqvist <tml@collabora.com> | 2022-09-27 11:40:25 +0300 |
---|---|---|
committer | Tor Lillqvist <tml@iki.fi> | 2022-10-13 17:02:08 +0300 |
commit | 0a0f309228fb866a6898e89442b5fa875f419dd4 (patch) | |
tree | 5323606177b96b96d66cb2716b7044594cd77a82 /kit | |
parent | Downloaded fonts don't need to be visible to Kit processes any longer (diff) | |
download | online-0a0f309228fb866a6898e89442b5fa875f419dd4.tar.gz online-0a0f309228fb866a6898e89442b5fa875f419dd4.zip |
Add alternative ways to handle "missing fonts": log, report, or ignore
The default is to log to the coolwsd log file.
Signed-off-by: Tor Lillqvist <tml@collabora.com>
Change-Id: I894f8c4b19ee96f7323512e63c8c66372d8516d9
Diffstat (limited to 'kit')
-rw-r--r-- | kit/ChildSession.cpp | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/kit/ChildSession.cpp b/kit/ChildSession.cpp index 64968696ac..318747a5a7 100644 --- a/kit/ChildSession.cpp +++ b/kit/ChildSession.cpp @@ -3128,7 +3128,25 @@ void ChildSession::loKitCallback(const int type, const std::string& payload) sendTextFrame("printranges: " + payload); break; case LOK_CALLBACK_FONTS_MISSING: - sendTextFrame("fontsmissing: " + payload); + { + static std::string fontsMissingHandling = std::string(std::getenv("FONTS_MISSING_HANDLING")); + if (fontsMissingHandling == "report" || fontsMissingHandling == "both") + sendTextFrame("fontsmissing: " + payload); + if (fontsMissingHandling == "log" || fontsMissingHandling == "both") + { +#if 0 + Poco::JSON::Parser parser; + Poco::JSON::Object::Ptr root = parser.parse(payload).extract<Poco::JSON::Object::Ptr>(); + + const Poco::Dynamic::Var fontsMissing = root->get("fontsmissing"); + if (fontsMissing.isArray()) + for (const auto &f : fontsMissing) + LOG_INF("Font missing: " << f.convert<std::string>()); +#else + LOG_INF("Fonts missing: " << payload); +#endif + } + } break; default: LOG_ERR("Unknown callback event (" << lokCallbackTypeToString(type) << "): " << payload); |