diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2011-02-15 06:09:59 (GMT) |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2011-02-15 06:09:59 (GMT) |
commit | a26ae9efb66adcd0f6253b363324c435f5510f6c (patch) | |
tree | fb4c56662c1564d421f8dfc3c8465b1a68b34636 /src/script/api/qscriptcontext.cpp | |
parent | 51872de548e1840431ef37f9172cb06f77875462 (diff) | |
parent | 53e589563f4adc51983703e6119c762bd81f584b (diff) | |
download | Qt-a26ae9efb66adcd0f6253b363324c435f5510f6c.zip Qt-a26ae9efb66adcd0f6253b363324c435f5510f6c.tar.gz Qt-a26ae9efb66adcd0f6253b363324c435f5510f6c.tar.bz2 |
Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qt-releng-team
* 'master' of git://scm.dev.nokia.troll.no/qt/qt-releng-team: (506 commits)
Removed timestamp setting and checking for Symbian header export
Cocoa/Alien: bugfix corner cases with popups and enter/leave
My 4.7.2 changes
Fix QFileDialog Symbian native file dialog filename filtering.
fix QMAKE_COPY_DIR for mingw+sh
Phonon MMF backend enabled in configuration and deployment
Using a better flag to control the fast allocator
Using QElapesedTimer for Symbian idle detector
Idle detector thread improvements
Updated QtGui and QtCore DEF files
Update tests for QScriptEngineAgent.
PathView items were not correctly updated when rootIndex changed.
Allow text to selected in a TextEdit or TextInput inside a Flickable.
Update modules-related tests and docs
CLeanup registers after AddString
4.7.2 changes
Change paging attributes for Symbian binaries
Fix build failure
Fix regression in creating mkspecs/default
Use the thread-default glib context for the DBus connection in the ICD bearer manager.
...
Diffstat (limited to 'src/script/api/qscriptcontext.cpp')
-rw-r--r-- | src/script/api/qscriptcontext.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/script/api/qscriptcontext.cpp b/src/script/api/qscriptcontext.cpp index 59ea52d..2468a46 100644 --- a/src/script/api/qscriptcontext.cpp +++ b/src/script/api/qscriptcontext.cpp @@ -299,6 +299,12 @@ QScriptValue QScriptContext::argumentsObject() const //for a js function if (frame->codeBlock() && frame->callee()) { + if (!QScriptEnginePrivate::hasValidCodeBlockRegister(frame)) { + // We have a built-in JS host call. + // codeBlock is needed by retrieveArguments(), but since it + // contains junk, we would crash. Return an invalid value for now. + return QScriptValue(); + } JSC::JSValue result = frame->interpreter()->retrieveArguments(frame, JSC::asFunction(frame->callee())); return QScript::scriptEngineFromExec(frame)->scriptValueFromJSCValue(result); } @@ -309,7 +315,8 @@ QScriptValue QScriptContext::argumentsObject() const } //for a native function - if (!frame->optionalCalleeArguments()) { + if (!frame->optionalCalleeArguments() + && QScriptEnginePrivate::hasValidCodeBlockRegister(frame)) { // Make sure we don't go here for host JSFunctions Q_ASSERT(frame->argumentCount() > 0); //we need at least 'this' otherwise we'll crash later JSC::Arguments* arguments = new (&frame->globalData())JSC::Arguments(frame, JSC::Arguments::NoParameters); frame->setCalleeArguments(arguments); |