Fix: Memory leak in ICUParagraphLayout::NextLine() (#11895)

This function calls icu::BreakIterator::createLineInstance() but does not clean up after it.

Instead use a static instance that is cloned (for thread-safety) and deleted as necessary.
This commit is contained in:
Peter Nelson
2024-01-27 20:13:42 +00:00
committed by GitHub
parent 1df7b21ee3
commit 6d276698b6
5 changed files with 45 additions and 4 deletions

View File

@@ -179,6 +179,7 @@ public:
Point GetCharPosition(std::string_view::const_iterator ch) const;
ptrdiff_t GetCharAtPosition(int x, size_t line_index) const;
static void Initialize();
static void ResetFontCache(FontSize size);
static void ResetLineCache();
static void ReduceLineCache();