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

Commit ce7fa780 authored by Chris Craik's avatar Chris Craik Committed by Gerrit Code Review
Browse files

Merge "Fix a resource race bug in PathCache"

parents bd4d3203 7061f7d7
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -346,7 +346,7 @@ void PathCache::PathProcessor::onProcess(const sp<Task<SkBitmap*> >& task) {

    float left, top, offset;
    uint32_t width, height;
    PathCache::computePathBounds(t->path, t->paint, left, top, offset, width, height);
    PathCache::computePathBounds(t->path, &t->paint, left, top, offset, width, height);

    PathTexture* texture = t->texture;
    texture->left = left;
@@ -357,7 +357,7 @@ void PathCache::PathProcessor::onProcess(const sp<Task<SkBitmap*> >& task) {

    if (width <= mMaxTextureSize && height <= mMaxTextureSize) {
        SkBitmap* bitmap = new SkBitmap();
        drawPath(t->path, t->paint, *bitmap, left, top, offset, width, height);
        drawPath(t->path, &t->paint, *bitmap, left, top, offset, width, height);
        t->setResult(bitmap);
    } else {
        texture->width = 0;
+3 −2
Original line number Diff line number Diff line
@@ -293,7 +293,7 @@ private:
    class PathTask: public Task<SkBitmap*> {
    public:
        PathTask(SkPath* path, SkPaint* paint, PathTexture* texture):
            path(path), paint(paint), texture(texture) {
            path(path), paint(*paint), texture(texture) {
        }

        ~PathTask() {
@@ -301,7 +301,8 @@ private:
        }

        SkPath* path;
        SkPaint* paint;
        //copied, since input paint may not be immutable
        SkPaint paint;
        PathTexture* texture;
    };