From cf8573c15456c4581b691c7380722ea6dccf11c5 Mon Sep 17 00:00:00 2001 From: Jason Sams Date: Mon, 10 Mar 2014 13:32:42 -0700 Subject: [PATCH] Fix destruction issues relating to AllocationAdapter. bug 13170046 Change-Id: I2a2ba3cbd7d08c659ed8958fbcc01919e36e86b0 --- graphics/java/android/renderscript/AllocationAdapter.java | 1 - graphics/java/android/renderscript/BaseObj.java | 3 ++- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/graphics/java/android/renderscript/AllocationAdapter.java b/graphics/java/android/renderscript/AllocationAdapter.java index a6645bb591dc..84a9ad3b1e92 100644 --- a/graphics/java/android/renderscript/AllocationAdapter.java +++ b/graphics/java/android/renderscript/AllocationAdapter.java @@ -224,7 +224,6 @@ public class AllocationAdapter extends Allocation { } static public AllocationAdapter create2D(RenderScript rs, Allocation a) { - android.util.Log.e("rs", "create2d " + a); rs.validate(); AllocationAdapter aa = new AllocationAdapter(0, rs, a); aa.mConstrainedLOD = true; diff --git a/graphics/java/android/renderscript/BaseObj.java b/graphics/java/android/renderscript/BaseObj.java index 6f2726ec4346..fc54532cf865 100644 --- a/graphics/java/android/renderscript/BaseObj.java +++ b/graphics/java/android/renderscript/BaseObj.java @@ -122,7 +122,8 @@ public class BaseObj { // must include nObjDestroy in the critical section ReentrantReadWriteLock.ReadLock rlock = mRS.mRWLock.readLock(); rlock.lock(); - if(mRS.isAlive()) { + // AllocationAdapters are BaseObjs with an ID of 0 but should not be passed to nObjDestroy + if(mRS.isAlive() && mID != 0) { mRS.nObjDestroy(mID); } rlock.unlock(); -- 2.11.0