wsd: fix crash on renderfont when the doc broker has no tile cache

Happens when renderfont is called without first loading a document.

Signed-off-by: Miklos Vajna <vmiklos@collabora.com>
Change-Id: I1152d1f4b3f610364e22c406cda5494672f20aed
pull/1063/head
Miklos Vajna 2020-12-21 09:34:03 +01:00
parent b678a1a5f9
commit f77c8076a7
2 changed files with 7 additions and 4 deletions

View File

@ -884,11 +884,14 @@ bool ClientSession::sendFontRendering(const char *buffer, int length, const Stri
getTokenString(tokens[2], "char", text);
TileCache::Tile cachedTile = docBroker->tileCache().lookupCachedStream(TileCache::StreamType::Font, font+text);
if (cachedTile)
if (docBroker->hasTileCache())
{
const std::string response = "renderfont: " + tokens.cat(' ', 1) + '\n';
return sendTile(response, cachedTile);
TileCache::Tile cachedTile = docBroker->tileCache().lookupCachedStream(TileCache::StreamType::Font, font+text);
if (cachedTile)
{
const std::string response = "renderfont: " + tokens.cat(' ', 1) + '\n';
return sendTile(response, cachedTile);
}
}
return forwardToChild(std::string(buffer, length), docBroker);