Fix bug with bad conversion of java strings to C strings for object names. Update test app to test object defines.
diff --git a/libs/rs/rsScriptC.cpp b/libs/rs/rsScriptC.cpp
index ae58e5f..d29eb9f 100644
--- a/libs/rs/rsScriptC.cpp
+++ b/libs/rs/rsScriptC.cpp
@@ -19,6 +19,7 @@
#include "rsMatrix.h"
#include "acc/acc.h"
+#include "utils/String8.h"
using namespace android;
using namespace android::renderscript;
@@ -433,17 +434,22 @@
}
+
void ScriptCState::runCompiler(Context *rsc)
{
mAccScript = accCreateScript();
+ String8 tmp;
- const char* scriptSource[] = {mProgram.mScriptText};
- int scriptLength[] = {mProgram.mScriptTextLength} ;
- accScriptSource(mAccScript, 1, scriptSource, scriptLength);
+ rsc->appendNameDefines(&tmp);
+
+ const char* scriptSource[] = {tmp.string(), mProgram.mScriptText};
+ int scriptLength[] = {tmp.length(), mProgram.mScriptTextLength} ;
+ accScriptSource(mAccScript, sizeof(scriptLength) / sizeof(int), scriptSource, scriptLength);
accCompileScript(mAccScript);
accGetScriptLabel(mAccScript, "main", (ACCvoid**) &mProgram.mScript);
rsAssert(mProgram.mScript);
+
if (mProgram.mScript) {
const static int pragmaMax = 16;
ACCsizei pragmaCount;