From 4707b5c29128da077bed583a16f072a61998ed60 Mon Sep 17 00:00:00 2001 From: Chris Craik Date: Fri, 2 Oct 2015 14:19:39 -0700 Subject: Don't unregister Fonts from renderer at destruction bug:24584749 Fonts are only destroyed when the renderer is destroyed, this prevents modifying the FontRenderer's LruCache while it's being iterated through in FontRenderer::~FontRenderer. Change-Id: I0e2c9f87981bfa50454ec8689df05851839e288e --- libs/hwui/FontRenderer.cpp | 8 -------- libs/hwui/FontRenderer.h | 2 -- libs/hwui/font/Font.cpp | 2 -- 3 files changed, 12 deletions(-) (limited to 'libs') diff --git a/libs/hwui/FontRenderer.cpp b/libs/hwui/FontRenderer.cpp index 35051b7..54cfaea 100644 --- a/libs/hwui/FontRenderer.cpp +++ b/libs/hwui/FontRenderer.cpp @@ -683,14 +683,6 @@ bool FontRenderer::renderTextOnPath(const SkPaint* paint, const Rect* clip, cons return mDrawn; } -void FontRenderer::removeFont(const Font* font) { - mActiveFonts.remove(font->getDescription()); - - if (mCurrentFont == font) { - mCurrentFont = nullptr; - } -} - void FontRenderer::blurImage(uint8_t** image, int32_t width, int32_t height, float radius) { uint32_t intRadius = Blur::convertRadiusToInt(radius); #ifdef ANDROID_ENABLE_RENDERSCRIPT diff --git a/libs/hwui/FontRenderer.h b/libs/hwui/FontRenderer.h index dfb107c..3da20ee 100644 --- a/libs/hwui/FontRenderer.h +++ b/libs/hwui/FontRenderer.h @@ -151,8 +151,6 @@ private: float x3, float y3, float u3, float v3, float x4, float y4, float u4, float v4, CacheTexture* texture); - void removeFont(const Font* font); - void checkTextureUpdate(); void setTextureDirty() { diff --git a/libs/hwui/font/Font.cpp b/libs/hwui/font/Font.cpp index 5de64a4..762f2bb 100644 --- a/libs/hwui/font/Font.cpp +++ b/libs/hwui/font/Font.cpp @@ -64,8 +64,6 @@ Font::FontDescription::FontDescription(const SkPaint* paint, const SkMatrix& ras } Font::~Font() { - mState->removeFont(this); - for (uint32_t i = 0; i < mCachedGlyphs.size(); i++) { delete mCachedGlyphs.valueAt(i); } -- cgit v1.1