diff options
author | Jedrzej Nowacki <jedrzej.nowacki@nokia.com> | 2009-08-19 14:26:58 (GMT) |
---|---|---|
committer | Jedrzej Nowacki <jedrzej.nowacki@nokia.com> | 2009-08-19 14:26:58 (GMT) |
commit | 7ae701ff4759bdfd12953c6f4d785c2d9241690f (patch) | |
tree | 7788e1119d5f5b3e620eb1b8e2a793ee6c828c8e /src/script/api/qscriptengine.cpp | |
parent | bbf514474b2664779229b919b54b4c541157c1d3 (diff) | |
download | Qt-7ae701ff4759bdfd12953c6f4d785c2d9241690f.zip Qt-7ae701ff4759bdfd12953c6f4d785c2d9241690f.tar.gz Qt-7ae701ff4759bdfd12953c6f4d785c2d9241690f.tar.bz2 |
Fix QScriptValue::objectId().
QScriptValue id were made persistent. It depands
on JSC:JSValue JSCell pointer not on QScriptValuePrivate attr.
Reviewed-by: Kent Hansen
Diffstat (limited to 'src/script/api/qscriptengine.cpp')
-rw-r--r-- | src/script/api/qscriptengine.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/script/api/qscriptengine.cpp b/src/script/api/qscriptengine.cpp index 5ef07b9..3556c05 100644 --- a/src/script/api/qscriptengine.cpp +++ b/src/script/api/qscriptengine.cpp @@ -807,7 +807,7 @@ private: } // namespace QScript QScriptEnginePrivate::QScriptEnginePrivate() - : inEval(false), idGenerator(1) + : inEval(false) { qMetaTypeId<QScriptValue>(); @@ -1392,7 +1392,6 @@ bool QScriptEnginePrivate::scriptDisconnect(JSC::JSValue signal, JSC::JSValue re #endif void QScriptEnginePrivate::registerScriptValue(QScriptValuePrivate *value) { - value->id=idGenerator.fetchAndAddRelaxed(1); attachedScriptValues.insert(value); } @@ -3725,7 +3724,7 @@ QScriptValue QScriptEngine::objectById(qint64 id) const Q_D(const QScriptEngine); QSet<QScriptValuePrivate*>::const_iterator i = d->attachedScriptValues.constBegin(); while(i != d->attachedScriptValues.constEnd()) { - if ( (*i)->id == id ) + if ( (*i)->objectId() == id ) return QScriptValuePrivate::get(*i); i++; } |