From 160ff36d2593a24b6a933332ab5d66683528403c Mon Sep 17 00:00:00 2001 From: Luboš Luňák Date: Fri, 19 Mar 2021 19:14:31 +0100 Subject: fix SalLayoutGlyphs caching with MultiSalLayout MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Writer's testTdf90069 was failing if there was the documents font actually installed. If glyphs for layout are cached, it is still necessary to do the fallback, and that needs setting the fallback as needed. Change-Id: I32bf453d2e46fd8f1cf53a1298d0bc4195a1b78c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112774 Tested-by: Jenkins Reviewed-by: Luboš Luňák --- vcl/source/gdi/CommonSalLayout.cxx | 3 +++ 1 file changed, 3 insertions(+) (limited to 'vcl/source/gdi') diff --git a/vcl/source/gdi/CommonSalLayout.cxx b/vcl/source/gdi/CommonSalLayout.cxx index 2ef3c98d2f9d..5565b3eb4d69 100644 --- a/vcl/source/gdi/CommonSalLayout.cxx +++ b/vcl/source/gdi/CommonSalLayout.cxx @@ -296,6 +296,9 @@ bool GenericSalLayout::LayoutText(ImplLayoutArgs& rArgs, const SalLayoutGlyphsIm { // Work with pre-computed glyph items. m_GlyphItems = *pGlyphs; + for(const GlyphItem& item : m_GlyphItems) + if(!item.glyphId()) + SetNeedFallback(rArgs, item.charPos(), item.IsRTLGlyph()); // Some flags are set as a side effect of text layout, restore them here. rArgs.mnFlags |= pGlyphs->mnFlags; return true; -- cgit