diff options
author | Kent Hansen <khansen@trolltech.com> | 2009-07-08 16:15:49 (GMT) |
---|---|---|
committer | Kent Hansen <khansen@trolltech.com> | 2009-07-08 16:17:37 (GMT) |
commit | a4e0ae8af7b550117d1e9d9dbb90564d50985fe3 (patch) | |
tree | f74e6ab0ec829bca0ecea607d06a5d90aa445ecc /src/script/api/qscriptengine_p.h | |
parent | 9fa78177eb5f31e6941b165949957f2b92b8dd0a (diff) | |
download | Qt-a4e0ae8af7b550117d1e9d9dbb90564d50985fe3.zip Qt-a4e0ae8af7b550117d1e9d9dbb90564d50985fe3.tar.gz Qt-a4e0ae8af7b550117d1e9d9dbb90564d50985fe3.tar.bz2 |
rewrite most of QScriptContext handling
Do it The right way(TM), by lazily wrapping JSC::ExecState objects.
Diffstat (limited to 'src/script/api/qscriptengine_p.h')
-rw-r--r-- | src/script/api/qscriptengine_p.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/script/api/qscriptengine_p.h b/src/script/api/qscriptengine_p.h index b3aab9b..0c1840e 100644 --- a/src/script/api/qscriptengine_p.h +++ b/src/script/api/qscriptengine_p.h @@ -39,6 +39,7 @@ QT_BEGIN_NAMESPACE namespace JSC { + class ExecState; class JSCell; class JSGlobalObject; class UString; @@ -105,6 +106,9 @@ public: JSC::JSValue defaultPrototype(int metaTypeId) const; void setDefaultPrototype(int metaTypeId, JSC::JSValue prototype); + QScriptContext *contextForFrame(JSC::ExecState *frame); + void releaseContextForFrame(JSC::ExecState *frame); + #ifndef QT_NO_QOBJECT JSC::JSValue newQObject(QObject *object, QScriptEngine::ValueOwnership ownership = QScriptEngine::QtOwnership, @@ -153,7 +157,8 @@ public: #endif JSC::JSGlobalObject *globalObject; - QScriptContext *currentContext; + JSC::ExecState *currentFrame; + QHash<JSC::ExecState*, QScriptContext*> contextForFrameHash; JSC::JSValue uncaughtException; QScript::QObjectPrototype *qobjectPrototype; |