diff options
author | Stefan Radomski <radomski@tk.informatik.tu-darmstadt.de> | 2013-12-20 00:56:45 (GMT) |
---|---|---|
committer | Stefan Radomski <radomski@tk.informatik.tu-darmstadt.de> | 2013-12-20 00:56:45 (GMT) |
commit | 0388c7ac478187ff8d264b6e0275a4c4a43796b9 (patch) | |
tree | 7e62439ebf72b6369ee7b1daa370e6251c06b7e0 /src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore | |
parent | 22e22bfd0965e01fea041e053873d352387805f6 (diff) | |
download | uscxml-0388c7ac478187ff8d264b6e0275a4c4a43796b9.zip uscxml-0388c7ac478187ff8d264b6e0275a4c4a43796b9.tar.gz uscxml-0388c7ac478187ff8d264b6e0275a4c4a43796b9.tar.bz2 |
Performance and bugfix for WebSockets
Diffstat (limited to 'src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore')
-rw-r--r-- | src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/JSCDataModel.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/JSCDataModel.cpp b/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/JSCDataModel.cpp index 947c0c2..9827b91 100644 --- a/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/JSCDataModel.cpp +++ b/src/uscxml/plugins/datamodel/ecmascript/JavaScriptCore/JSCDataModel.cpp @@ -400,9 +400,10 @@ Data JSCDataModel::getValueAsData(const JSValueRef value) { if (!isNumeric(property.c_str(), 10)) isArray = false; propertySet.insert(property); - JSStringRelease(stringValue); + //JSStringRelease(stringValue); // JSPropertyNameArrayRelease does the job it seems free(buf); } + JSPropertyNameArrayRelease(properties); std::set<std::string>::iterator propIter = propertySet.begin(); while(propIter != propertySet.end()) { if (isArray) { @@ -537,14 +538,14 @@ void JSCDataModel::assign(const Element<std::string>& assignElem, throw Event("error.execution", Event::PLATFORM); // flags on attribute are ignored? - if (key.compare("_sessionid") == 0) - return; //throw Event("error.execution", Event::PLATFORM); + if (key.compare("_sessionid") == 0) // test 322 + throw Event("error.execution", Event::PLATFORM); if (key.compare("_name") == 0) - return; //throw Event("error.execution", Event::PLATFORM); - if (key.compare("_ioprocessors") == 0) - return; //throw Event("error.execution", Event::PLATFORM); + throw Event("error.execution", Event::PLATFORM); + if (key.compare("_ioprocessors") == 0) // test 326 + throw Event("error.execution", Event::PLATFORM); if (key.compare("_invokers") == 0) - return; //throw Event("error.execution", Event::PLATFORM); + throw Event("error.execution", Event::PLATFORM); if (HAS_ATTR(assignElem, "expr")) { evalAsValue(key + " = " + ATTR(assignElem, "expr")); |