From 6f4cf0b8885403ead157ae00fd43cf1282331c23 Mon Sep 17 00:00:00 2001 From: Jason Sams Date: Tue, 16 Nov 2010 17:37:02 -0800 Subject: Fix ref counting for globals when set from java code. Change-Id: I415b6ddeaab277e60233e905a6bae357cd5193eb --- graphics/java/android/renderscript/RenderScript.java | 4 ++++ graphics/java/android/renderscript/Script.java | 4 ++++ 2 files changed, 8 insertions(+) (limited to 'graphics/java/android') diff --git a/graphics/java/android/renderscript/RenderScript.java b/graphics/java/android/renderscript/RenderScript.java index df03e13..20949a4 100644 --- a/graphics/java/android/renderscript/RenderScript.java +++ b/graphics/java/android/renderscript/RenderScript.java @@ -389,6 +389,10 @@ public class RenderScript { synchronized void nScriptSetVarV(int id, int slot, byte[] val) { rsnScriptSetVarV(mContext, id, slot, val); } + native void rsnScriptSetVarObj(int con, int id, int slot, int val); + synchronized void nScriptSetVarObj(int id, int slot, int val) { + rsnScriptSetVarObj(mContext, id, slot, val); + } native void rsnScriptCBegin(int con); synchronized void nScriptCBegin() { diff --git a/graphics/java/android/renderscript/Script.java b/graphics/java/android/renderscript/Script.java index 7d7dd6d..ea616c6 100644 --- a/graphics/java/android/renderscript/Script.java +++ b/graphics/java/android/renderscript/Script.java @@ -88,6 +88,10 @@ public class Script extends BaseObj { mRS.nScriptSetVarI(getID(), index, v ? 1 : 0); } + public void setVar(int index, BaseObj o) { + mRS.nScriptSetVarObj(getID(), index, (o == null) ? 0 : o.getID()); + } + public void setVar(int index, FieldPacker v) { mRS.nScriptSetVarV(getID(), index, v.getData()); } -- cgit v1.1