summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/javascriptcore
diff options
context:
space:
mode:
authorBill King <bking@trolltech.com>2010-01-12 02:45:18 (GMT)
committerBill King <bking@trolltech.com>2010-01-12 02:45:18 (GMT)
commit82e9af930bea96710d7df87f03d3f4f1a175dbd3 (patch)
tree98f789486ad1488fb96b142e0273d86423563ae2 /src/3rdparty/javascriptcore
parent2e5f0b28e9eebd372bed923e8e41e805918647b0 (diff)
parent8d76de98d93421395306941e59d136f1e7395d15 (diff)
downloadQt-82e9af930bea96710d7df87f03d3f4f1a175dbd3.zip
Qt-82e9af930bea96710d7df87f03d3f4f1a175dbd3.tar.gz
Qt-82e9af930bea96710d7df87f03d3f4f1a175dbd3.tar.bz2
Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt-sql-team into 4.6
Diffstat (limited to 'src/3rdparty/javascriptcore')
-rw-r--r--src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSObject.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSObject.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSObject.cpp
index d7f5344..01f74ac 100644
--- a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSObject.cpp
+++ b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSObject.cpp
@@ -115,9 +115,17 @@ void JSObject::put(ExecState* exec, const Identifier& propertyName, JSValue valu
return;
for (JSObject* obj = this; ; obj = asObject(prototype)) {
+#ifdef QT_BUILD_SCRIPT_LIB
+ PropertyDescriptor descriptor;
+ if (obj->getPropertyDescriptor(exec, propertyName, descriptor)) {
+ JSObject* setterFunc;
+ if ((descriptor.isAccessorDescriptor() && ((setterFunc = asObject(descriptor.setter())), true))
+ || (descriptor.value().isGetterSetter() && ((setterFunc = asGetterSetter(descriptor.value())->setter()), true))) {
+#else
if (JSValue gs = obj->getDirect(propertyName)) {
if (gs.isGetterSetter()) {
- JSObject* setterFunc = asGetterSetter(gs)->setter();
+ JSObject* setterFunc = asGetterSetter(gs)->setter();
+#endif
if (!setterFunc) {
throwSetterError(exec);
return;