summaryrefslogtreecommitdiffstats
path: root/src/script/api/qscriptvalue.cpp
diff options
context:
space:
mode:
authorShane Kearns <shane.kearns@sosco.com>2009-10-06 16:15:21 (GMT)
committerShane Kearns <shane.kearns@sosco.com>2009-10-06 16:15:21 (GMT)
commit90ebbabf0b2a6b3fe008fb8d98da0df6a12a720c (patch)
treea7b3f64a958fdae3378417eac93d6fc7346e1d56 /src/script/api/qscriptvalue.cpp
parent28cdb974cce58111a19e8691f4dd929a5c9f74ea (diff)
parent092c773b95b1f126d36ab7c918fb098ddad6cae3 (diff)
downloadQt-90ebbabf0b2a6b3fe008fb8d98da0df6a12a720c.zip
Qt-90ebbabf0b2a6b3fe008fb8d98da0df6a12a720c.tar.gz
Qt-90ebbabf0b2a6b3fe008fb8d98da0df6a12a720c.tar.bz2
Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt into 4.6
Diffstat (limited to 'src/script/api/qscriptvalue.cpp')
-rw-r--r--src/script/api/qscriptvalue.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/script/api/qscriptvalue.cpp b/src/script/api/qscriptvalue.cpp
index f2716e4..92c987c 100644
--- a/src/script/api/qscriptvalue.cpp
+++ b/src/script/api/qscriptvalue.cpp
@@ -1738,7 +1738,7 @@ QScriptValue QScriptValue::property(quint32 arrayIndex,
void QScriptValue::setProperty(quint32 arrayIndex, const QScriptValue &value,
const PropertyFlags &flags)
{
- Q_D(const QScriptValue);
+ Q_D(QScriptValue);
if (!d || !d->isObject())
return;
if (value.engine() && (value.engine() != engine())) {
@@ -1752,7 +1752,9 @@ void QScriptValue::setProperty(quint32 arrayIndex, const QScriptValue &value,
JSC::asObject(d->jscValue)->deleteProperty(exec, arrayIndex, /*checkDontDelete=*/false);
} else {
if ((flags & QScriptValue::PropertyGetter) || (flags & QScriptValue::PropertySetter)) {
- Q_ASSERT_X(false, Q_FUNC_INFO, "property getters and setters not implemented");
+ // fall back to string-based setProperty(), since there is no
+ // JSC::JSObject::defineGetter(unsigned)
+ d->setProperty(JSC::Identifier::from(exec, arrayIndex), value, flags);
} else {
if (flags != QScriptValue::KeepExistingFlags) {
// if (JSC::asObject(d->jscValue)->hasOwnProperty(exec, arrayIndex))