summaryrefslogtreecommitdiffstats
path: root/src/script/api/qscriptcontextinfo.cpp
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2011-02-08 18:42:53 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2011-02-08 18:42:53 (GMT)
commit8fc05466a50bcf255900849d787790abd2bf6957 (patch)
tree41e4544008c194354dc925388e2826984df262f0 /src/script/api/qscriptcontextinfo.cpp
parentca4213b45f5f65ebbc7e5143a2940f87c5ca28fa (diff)
parenta6ccb1a72173cec6381d519a720dc08cfdc03720 (diff)
downloadQt-8fc05466a50bcf255900849d787790abd2bf6957.zip
Qt-8fc05466a50bcf255900849d787790abd2bf6957.tar.gz
Qt-8fc05466a50bcf255900849d787790abd2bf6957.tar.bz2
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into 4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (21 commits) Fix compilation of QMutableSetIterator::value() with QT_STRICT_ITERATORS Fix the compilation error that the previous fix didn't fix Use the thread-default glib context for the DBus connection in the ICD bearer manager. Check that _POSIX_THREAD_SAFE_FUNCTIONS is larger than zero. Use an increasing size for the getpwuid_r buffer. Make sure we use at least 1024 bytes when calling getpwuid_r. Fix compilation error: symbol is namespaced. Don't crash when creating backtrace for built-in JS function (2nd try) Revert "Improved performance of mapFromGlobal/mapToGlobal on X11" QtDBus: do not wait for reply for AddMatch and RemoveMatch Make qdbus show all types, even those that it doesn't know about Doc: Fix the docs saying what the locale codec is used for Autotest: simple improvements Autotest: Use QElapsedTimer for timings directfb: Pixmap creation always premultiplied the alpha even when it is already premultiplied in the image. Don't crash when BMP color table is broken Designer: Fix a crash in the Signal-Slot-Editor. complain about unmatched quotes/parens use const ref move multiple inclusion check for feature files to correct location ...
Diffstat (limited to 'src/script/api/qscriptcontextinfo.cpp')
-rw-r--r--src/script/api/qscriptcontextinfo.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/script/api/qscriptcontextinfo.cpp b/src/script/api/qscriptcontextinfo.cpp
index db6b2d7..0f9de1d 100644
--- a/src/script/api/qscriptcontextinfo.cpp
+++ b/src/script/api/qscriptcontextinfo.cpp
@@ -157,7 +157,7 @@ QScriptContextInfoPrivate::QScriptContextInfoPrivate(const QScriptContext *conte
JSC::Instruction *returnPC = rewindContext->returnPC();
JSC::CodeBlock *codeBlock = frame->codeBlock();
- if (returnPC && codeBlock) {
+ if (returnPC && codeBlock && QScriptEnginePrivate::hasValidCodeBlockRegister(frame)) {
#if ENABLE(JIT)
unsigned bytecodeOffset = codeBlock->getBytecodeIndex(frame, JSC::ReturnAddressPtr(returnPC));
#else
@@ -171,7 +171,7 @@ QScriptContextInfoPrivate::QScriptContextInfoPrivate(const QScriptContext *conte
// Get the filename and the scriptId:
JSC::CodeBlock *codeBlock = frame->codeBlock();
- if (codeBlock) {
+ if (codeBlock && QScriptEnginePrivate::hasValidCodeBlockRegister(frame)) {
JSC::SourceProvider *source = codeBlock->source();
scriptId = source->asID();
fileName = source->url();
@@ -181,7 +181,8 @@ QScriptContextInfoPrivate::QScriptContextInfoPrivate(const QScriptContext *conte
JSC::JSObject *callee = frame->callee();
if (callee && callee->inherits(&JSC::InternalFunction::info))
functionName = JSC::asInternalFunction(callee)->name(frame);
- if (callee && callee->inherits(&JSC::JSFunction::info)) {
+ if (callee && callee->inherits(&JSC::JSFunction::info)
+ && !JSC::asFunction(callee)->isHostFunction()) {
functionType = QScriptContextInfo::ScriptFunction;
JSC::FunctionExecutable *body = JSC::asFunction(callee)->jsExecutable();
functionStartLineNumber = body->lineNo();