summaryrefslogtreecommitdiffstats
path: root/src/script/api/qscriptengine.cpp
diff options
context:
space:
mode:
authorninerider <qt-info@nokia.com>2009-10-06 08:26:04 (GMT)
committerninerider <qt-info@nokia.com>2009-10-06 08:26:04 (GMT)
commit1459ba572cc3fdb72bf082b66a11bd88637b1b9c (patch)
treeceefa9bcbee5de869a830dba3e8abfb7e047b515 /src/script/api/qscriptengine.cpp
parent1015ee9016f3a46bb05077a9eff83c8736b2541e (diff)
parent843013460ff6ee60d3553a31faa3eedef88bd199 (diff)
downloadQt-1459ba572cc3fdb72bf082b66a11bd88637b1b9c.zip
Qt-1459ba572cc3fdb72bf082b66a11bd88637b1b9c.tar.gz
Qt-1459ba572cc3fdb72bf082b66a11bd88637b1b9c.tar.bz2
Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt into 4.6
Diffstat (limited to 'src/script/api/qscriptengine.cpp')
-rw-r--r--src/script/api/qscriptengine.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/script/api/qscriptengine.cpp b/src/script/api/qscriptengine.cpp
index 09042e1..3402190 100644
--- a/src/script/api/qscriptengine.cpp
+++ b/src/script/api/qscriptengine.cpp
@@ -805,7 +805,6 @@ QScriptEnginePrivate::QScriptEnginePrivate()
JSC::JSGlobalObject *globalObject = new (globalData)QScript::GlobalObject();
JSC::ExecState* exec = globalObject->globalExec();
- *thisRegisterForFrame(exec) = JSC::JSValue();
scriptObjectStructure = QScriptObject::createStructure(globalObject->objectPrototype());
@@ -1079,12 +1078,13 @@ JSC::JSValue QScriptEnginePrivate::toUsableValue(JSC::JSValue value)
/*!
\internal
Return the 'this' value for a given context
- The result may be null for the global context
*/
JSC::JSValue QScriptEnginePrivate::thisForContext(JSC::ExecState *frame)
{
if (frame->codeBlock() != 0) {
return frame->thisValue();
+ } else if(frame == frame->lexicalGlobalObject()->globalExec()) {
+ return frame->globalThisValue();
} else {
JSC::Register *thisRegister = thisRegisterForFrame(frame);
return thisRegister->jsValue();