summaryrefslogtreecommitdiffstats
path: root/src/script/api/qscriptcontext.cpp
diff options
context:
space:
mode:
authorJedrzej Nowacki <jedrzej.nowacki@nokia.com>2009-08-11 07:41:37 (GMT)
committerJedrzej Nowacki <jedrzej.nowacki@nokia.com>2009-08-11 07:41:37 (GMT)
commit10ae0cc37f667953167ff25d5eb74e2d4224bd79 (patch)
tree7bafc26eb5d72bfd6f15a1cef6e68f5336d2226b /src/script/api/qscriptcontext.cpp
parent2fdff951927ac4f2aab47c423e73d002b3bed628 (diff)
parent81d8292e486bce768d9af27e3510520a769c4fa8 (diff)
downloadQt-10ae0cc37f667953167ff25d5eb74e2d4224bd79.zip
Qt-10ae0cc37f667953167ff25d5eb74e2d4224bd79.tar.gz
Qt-10ae0cc37f667953167ff25d5eb74e2d4224bd79.tar.bz2
Merge branch 'qtscript-jsc-backend' of git@scm.dev.nokia.troll.no:qt/qt-webkit into qtscript-jsc-backend
Diffstat (limited to 'src/script/api/qscriptcontext.cpp')
-rw-r--r--src/script/api/qscriptcontext.cpp7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/script/api/qscriptcontext.cpp b/src/script/api/qscriptcontext.cpp
index 669002d..f4b8af6 100644
--- a/src/script/api/qscriptcontext.cpp
+++ b/src/script/api/qscriptcontext.cpp
@@ -273,8 +273,7 @@ QScriptValue QScriptContext::argument(int index) const
if (index >= argumentCount())
return QScriptValue(QScriptValue::UndefinedValue);
JSC::Register* thisRegister = frame->registers() - JSC::RegisterFile::CallFrameHeaderSize - frame->argumentCount();
- if (frame->codeBlock() == 0)
- ++index; // ### off-by-one issue with native functions
+ ++index; //skip the 'this' object
return QScript::scriptEngineFromExec(frame)->scriptValueFromJSCValue(thisRegister[index].jsValue());
}
@@ -370,9 +369,7 @@ bool QScriptContext::isCalledAsConstructor() const
QScriptContext *QScriptContext::parentContext() const
{
const JSC::CallFrame *frame = QScriptEnginePrivate::frameForContext(this);
- JSC::CallFrame *callerFrame = frame->callerFrame();
- if (callerFrame == (JSC::CallFrame*)(1)) // ### CallFrame::noCaller() is private
- return 0;
+ JSC::CallFrame *callerFrame = frame->callerFrame()->removeHostCallFrameFlag();
return reinterpret_cast<QScriptContext *>(callerFrame);
}