From febccd05f2e9ad2422d74fcf33ec9bc900ae83bb Mon Sep 17 00:00:00 2001 From: Raph Levien Date: Wed, 30 Jul 2014 13:41:10 -0700 Subject: [PATCH] Bump refcount of canvas created for Picture Both the Canvas and Picture objects will unref the canvas in their finalizers, so an extra ref is needed. This had been present but was inadvertently removed in the patch "Refactor android.graphics.Picture JNI bindings." This patch simply restores the previous ref and comment. Bug: 16399257 Change-Id: I9911826bd0e668bd25546ef54b0c9c1d467538c8 --- core/jni/android/graphics/Picture.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/core/jni/android/graphics/Picture.cpp b/core/jni/android/graphics/Picture.cpp index d214575be7f3d..630999cf4c1dd 100644 --- a/core/jni/android/graphics/Picture.cpp +++ b/core/jni/android/graphics/Picture.cpp @@ -42,6 +42,10 @@ Canvas* Picture::beginRecording(int width, int height) { mWidth = width; mHeight = height; SkCanvas* canvas = mRecorder->beginRecording(width, height, NULL, 0); + // the java side will wrap this guy in a Canvas.java, which will call + // unref in its finalizer, so we have to ref it here, so that both that + // Canvas.java and our picture can both be owners + canvas->ref(); return Canvas::create_canvas(canvas); }