diff options
Diffstat (limited to 'graphics/java')
-rw-r--r-- | graphics/java/android/renderscript/BaseObj.java | 7 | ||||
-rw-r--r-- | graphics/java/android/renderscript/RenderScript.java | 1 |
2 files changed, 7 insertions, 1 deletions
diff --git a/graphics/java/android/renderscript/BaseObj.java b/graphics/java/android/renderscript/BaseObj.java index eaeb401..c25f16a 100644 --- a/graphics/java/android/renderscript/BaseObj.java +++ b/graphics/java/android/renderscript/BaseObj.java @@ -60,8 +60,13 @@ class BaseObj { protected void finalize() throws Throwable { if (!mDestroyed) { + if(mID != 0) { + mRS.nObjDestroyOOB(mID); + } + mID = 0; + mDestroyed = true; Log.v(RenderScript.LOG_TAG, - getClass() + " finalized without having released the RS reference."); + getClass() + " auto finalizing object without having released the RS reference."); } super.finalize(); } diff --git a/graphics/java/android/renderscript/RenderScript.java b/graphics/java/android/renderscript/RenderScript.java index 08418c6..fca1c7a 100644 --- a/graphics/java/android/renderscript/RenderScript.java +++ b/graphics/java/android/renderscript/RenderScript.java @@ -75,6 +75,7 @@ public class RenderScript { native void nAssignName(int obj, byte[] name); native void nObjDestroy(int id); + native void nObjDestroyOOB(int id); native int nFileOpen(byte[] name); native void nElementBegin(); |