vcl/source/gdi/CommonSalLayout.cxx | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-)
New commits: commit bed301f42f0e51126c63c02c9a78091f7dec420c Author: Noel Grandin <[email protected]> AuthorDate: Wed May 11 11:42:56 2022 +0200 Commit: Noel Grandin <[email protected]> CommitDate: Wed May 11 20:56:57 2022 +0200 elide temporary OString in GenericSalLayout::LayoutText Change-Id: I2169087bf780fb7b42aad8db0ee7484bf48d9ebb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134197 Tested-by: Jenkins Reviewed-by: Noel Grandin <[email protected]> diff --git a/vcl/source/gdi/CommonSalLayout.cxx b/vcl/source/gdi/CommonSalLayout.cxx index 0007e3f355d1..0de505f7820e 100644 --- a/vcl/source/gdi/CommonSalLayout.cxx +++ b/vcl/source/gdi/CommonSalLayout.cxx @@ -437,10 +437,6 @@ bool GenericSalLayout::LayoutText(vcl::text::ImplLayoutArgs& rArgs, const SalLay const int nEndRunPos = aSubRun.mnEnd; const int nRunLen = nEndRunPos - nMinRunPos; - OString sLanguage = msLanguage; - if (sLanguage.isEmpty()) - sLanguage = OUStringToOString(rArgs.maLanguageTag.getBcp47(), RTL_TEXTENCODING_ASCII_US); - int nHbFlags = HB_BUFFER_FLAGS_DEFAULT; if (nMinRunPos == 0) nHbFlags |= HB_BUFFER_FLAG_BOT; /* Beginning-of-text */ @@ -449,7 +445,15 @@ bool GenericSalLayout::LayoutText(vcl::text::ImplLayoutArgs& rArgs, const SalLay hb_buffer_set_direction(pHbBuffer, aSubRun.maDirection); hb_buffer_set_script(pHbBuffer, aSubRun.maScript); - hb_buffer_set_language(pHbBuffer, hb_language_from_string(sLanguage.getStr(), -1)); + if (!msLanguage.isEmpty()) + { + hb_buffer_set_language(pHbBuffer, hb_language_from_string(msLanguage.getStr(), -1)); + } + else + { + OString sLanguage = OUStringToOString(rArgs.maLanguageTag.getBcp47(), RTL_TEXTENCODING_ASCII_US); + hb_buffer_set_language(pHbBuffer, hb_language_from_string(sLanguage.getStr(), -1)); + } hb_buffer_set_flags(pHbBuffer, static_cast<hb_buffer_flags_t>(nHbFlags)); hb_buffer_add_utf16( pHbBuffer, reinterpret_cast<uint16_t const *>(pStr), nLength,
