Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 148c78f8 authored by Chris Craik's avatar Chris Craik
Browse files

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
parent 0361b18e
Loading
Loading
Loading
Loading
+0 −8
Original line number Diff line number Diff line
@@ -722,14 +722,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 = NULL;
    }
}

void FontRenderer::blurImage(uint8_t** image, int32_t width, int32_t height, float radius) {
    uint32_t intRadius = Blur::convertRadiusToInt(radius);
#ifdef ANDROID_ENABLE_RENDERSCRIPT
+0 −2
Original line number Diff line number Diff line
@@ -172,8 +172,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() {
+0 −2
Original line number Diff line number Diff line
@@ -65,8 +65,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);
    }