1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-10 23:44:24 +00:00

Font: Fix deadlock in findTypefaceFor

This commit is contained in:
reuk 2020-06-11 11:32:10 +01:00
parent 6814cc0b8d
commit 3a9e26b26c
No known key found for this signature in database
GPG key ID: 9ADCD339CFC98A11

View file

@ -72,24 +72,26 @@ public:
Typeface::Ptr findTypefaceFor (const Font& font)
{
const ScopedReadLock slr (lock);
auto faceName = font.getTypefaceName();
auto faceStyle = font.getTypefaceStyle();
const auto faceName = font.getTypefaceName();
const auto faceStyle = font.getTypefaceStyle();
jassert (faceName.isNotEmpty());
for (int i = faces.size(); --i >= 0;)
{
CachedFace& face = faces.getReference(i);
const ScopedReadLock slr (lock);
if (face.typefaceName == faceName
&& face.typefaceStyle == faceStyle
&& face.typeface != nullptr
&& face.typeface->isSuitableForFont (font))
for (int i = faces.size(); --i >= 0;)
{
face.lastUsageCount = ++counter;
return face.typeface;
CachedFace& face = faces.getReference(i);
if (face.typefaceName == faceName
&& face.typefaceStyle == faceStyle
&& face.typeface != nullptr
&& face.typeface->isSuitableForFont (font))
{
face.lastUsageCount = ++counter;
return face.typeface;
}
}
}