diff options
author | Yang Ni <yangni@google.com> | 2016-03-31 22:56:37 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2016-03-31 22:56:37 +0000 |
commit | 64c4c1c1cd24157f93dc3f07f7dff299b7d0c8f8 (patch) | |
tree | 83dfd405db4ede4bddd3984c4ae33c25fa0cb604 /rs/java/android/renderscript/Script.java | |
parent | 410144887ec32d2bfc10554effce4f7d512ea568 (diff) | |
parent | eb4dd08ec132f83745b8b28fa7da58eb4478b5b9 (diff) |
Merge "Added CloseGuard for BaseObj"
Diffstat (limited to 'rs/java/android/renderscript/Script.java')
-rw-r--r-- | rs/java/android/renderscript/Script.java | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/rs/java/android/renderscript/Script.java b/rs/java/android/renderscript/Script.java index 815d478c781b..04ba864c14a6 100644 --- a/rs/java/android/renderscript/Script.java +++ b/rs/java/android/renderscript/Script.java @@ -41,6 +41,7 @@ public class Script extends BaseObj { mScript = s; mSlot = slot; mSig = sig; + guard.open("destroy"); } } @@ -118,6 +119,7 @@ public class Script extends BaseObj { super(id, rs); mScript = s; mSlot = slot; + guard.open("destroy"); } } @@ -358,6 +360,19 @@ public class Script extends BaseObj { super(id, rs); mInIdsBuffer = new long[1]; + + /* The constructors for the derived classes (including ScriptIntrinsic + * derived classes and ScriptC derived classes generated by Slang + * reflection) seem to be simple enough, so we just put the guard.open() + * call here, rather than in the end of the constructor for the derived + * class. This, of course, assumes the derived constructor would not + * throw any exception after calling this constructor. + * + * If new derived classes are added with more complicated constructors + * that throw exceptions, this call has to be (duplicated and) moved + * to the end of each derived class constructor. + */ + guard.open("destroy"); } /** |