diff options
author | Jason Sams <rjsams@android.com> | 2010-10-21 14:06:55 -0700 |
---|---|---|
committer | Jason Sams <rjsams@android.com> | 2010-10-21 21:17:30 -0700 |
commit | 225afd317e101a7be5fe02c0a86361146ea89f05 (patch) | |
tree | af9ed039287d6a03a6442eb8c8d332f97d0f6e48 /rsScriptC.cpp | |
parent | 1c94845e04e974b22edf07d21ca03337bfb23b7c (diff) | |
download | rs-225afd317e101a7be5fe02c0a86361146ea89f05.tar.gz |
Fix refcounting bugs where the sys refcount
could be corrupted during async type creation.
Change-Id: If42828e92990598b0cb5da81c82ea513f94725f2
Fix stack object deletion bug.
Change-Id: I2c723aa5ad15e0c99dc9cd0cfbc7db80bace172a
Diffstat (limited to 'rsScriptC.cpp')
-rw-r--r-- | rsScriptC.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/rsScriptC.cpp b/rsScriptC.cpp index a2910d7e..165fa715 100644 --- a/rsScriptC.cpp +++ b/rsScriptC.cpp @@ -35,8 +35,6 @@ using namespace android::renderscript; ScriptC::ScriptC(Context *rsc) : Script(rsc) { - mAllocFile = __FILE__; - mAllocLine = __LINE__; mBccScript = NULL; memset(&mProgram, 0, sizeof(mProgram)); } @@ -524,11 +522,11 @@ RsScript rsi_ScriptCCreate(Context * rsc) { ScriptCState *ss = &rsc->mScriptC; - ObjectBaseRef<ScriptC> s = ss->mScript.get(); + ObjectBaseRef<ScriptC> s(ss->mScript); ss->mScript.clear(); + s->incUserRef(); ss->runCompiler(rsc, s.get()); - s->incUserRef(); ss->clear(rsc); return s.get(); } |