summaryrefslogtreecommitdiffstats
path: root/libs/rs
diff options
context:
space:
mode:
authorStephen Hines <srhines@google.com>2012-02-02 13:23:20 -0800
committerStephen Hines <srhines@google.com>2012-02-02 13:23:20 -0800
commit862dadb7a7aa290e382ca02a376776e0e27987a1 (patch)
treebe6dc5f74a0fab8f2ca1a5001b508c9f468ae49c /libs/rs
parent07c12933e3859804a0da063c1111659285184bef (diff)
downloadframeworks_base-862dadb7a7aa290e382ca02a376776e0e27987a1.zip
frameworks_base-862dadb7a7aa290e382ca02a376776e0e27987a1.tar.gz
frameworks_base-862dadb7a7aa290e382ca02a376776e0e27987a1.tar.bz2
Properly recover from failed compilation.
BUG=5955072 We used to call delete, which did not update the Context's view of the world, leading to potential segfaults on Context teardown. This change also enables exceptions to be thrown when runtime errors are encountered. Change-Id: If63578efff2d7dd03639da1049c1a5ebc69fde35
Diffstat (limited to 'libs/rs')
-rw-r--r--libs/rs/rsScriptC.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/libs/rs/rsScriptC.cpp b/libs/rs/rsScriptC.cpp
index 929dd68..b4eb995 100644
--- a/libs/rs/rsScriptC.cpp
+++ b/libs/rs/rsScriptC.cpp
@@ -322,7 +322,7 @@ RsScript rsi_ScriptCCreate(Context *rsc,
if (!s->runCompiler(rsc, resName, cacheDir, (uint8_t *)text, text_length)) {
// Error during compile, destroy s and return null.
- delete s;
+ ObjectBase::checkDelete(s);
return NULL;
}