summaryrefslogtreecommitdiffstats
path: root/libs
diff options
context:
space:
mode:
authorAndroid (Google) Code Review <android-gerrit@google.com>2009-10-07 21:18:01 -0400
committerAndroid (Google) Code Review <android-gerrit@google.com>2009-10-07 21:18:01 -0400
commit7c12540f09659dec0a4222831ed7e5ab8d7b0cdf (patch)
treed955da1b7f0eca66ab4ee27fa8578496e3804bd1 /libs
parent9af53ea6ef9a986bc65bcd11deb7994f1f4ba8ec (diff)
parentbd2197fb0038acd2dc4b17ad3ed3c69cc29dcce2 (diff)
downloadframeworks_base-7c12540f09659dec0a4222831ed7e5ab8d7b0cdf.zip
frameworks_base-7c12540f09659dec0a4222831ed7e5ab8d7b0cdf.tar.gz
frameworks_base-7c12540f09659dec0a4222831ed7e5ab8d7b0cdf.tar.bz2
Merge change Ibd2197fb into eclair
* changes: Add script to script call support. Add exception to catch out of bound index data when added to TriangleMeshBuilder.
Diffstat (limited to 'libs')
-rw-r--r--libs/rs/rsContext.h2
-rw-r--r--libs/rs/rsScriptC_Lib.cpp10
2 files changed, 11 insertions, 1 deletions
diff --git a/libs/rs/rsContext.h b/libs/rs/rsContext.h
index b56e7d7..3570e10 100644
--- a/libs/rs/rsContext.h
+++ b/libs/rs/rsContext.h
@@ -99,6 +99,7 @@ public:
uint32_t getMessageToClient(void *data, size_t *receiveLen, size_t bufferLen, bool wait);
bool sendMessageToClient(void *data, uint32_t cmdID, size_t len, bool waitForSpace);
+ bool runScript(Script *s, uint32_t launchID);
void initToClient();
void deinitToClient();
@@ -212,7 +213,6 @@ private:
void initEGL();
- bool runScript(Script *s, uint32_t launchID);
bool runRootScript();
static void * threadProc(void *);
diff --git a/libs/rs/rsScriptC_Lib.cpp b/libs/rs/rsScriptC_Lib.cpp
index 9a96290..436f48b 100644
--- a/libs/rs/rsScriptC_Lib.cpp
+++ b/libs/rs/rsScriptC_Lib.cpp
@@ -1008,6 +1008,13 @@ static uint32_t SC_toClient(void *data, int cmdID, int len, int waitForSpace)
return rsc->sendMessageToClient(data, cmdID, len, waitForSpace != 0);
}
+static void SC_scriptCall(int scriptID)
+{
+ GET_TLS();
+ rsc->runScript((Script *)scriptID, 0);
+}
+
+
//////////////////////////////////////////////////////////////////////////////
// Class implementation
//////////////////////////////////////////////////////////////////////////////
@@ -1289,6 +1296,9 @@ ScriptCState::SymbolTable_t ScriptCState::gSyms[] = {
{ "debugHexI32", (void *)&SC_debugHexI32,
"void", "(void *, int)" },
+ { "scriptCall", (void *)&SC_scriptCall,
+ "void", "(int)" },
+
{ NULL, NULL, NULL, NULL }
};