diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2009-08-21 15:56:57 +0300 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2009-08-21 15:56:57 +0300 |
commit | 34679dd23213881a9632e21e4858377ff90a9006 (patch) | |
tree | deb9ebf681d4954b2d44858ca1a14d251c31e8eb /src/3rdparty/webkit/JavaScriptCore/runtime/ConstructData.h | |
parent | 7669f91c33328505fbe52f4913bd3f8745b76d31 (diff) | |
parent | 4aa6869877d4906fcfaac5388294748512cace25 (diff) |
Merge branch 'master' of git@scm.dev.troll.no:qt/qt-s60-public
Conflicts:
src/corelib/io/qfilesystemwatcher_symbian.cpp
src/corelib/io/qfilesystemwatcher_symbian_p.h
Diffstat (limited to 'src/3rdparty/webkit/JavaScriptCore/runtime/ConstructData.h')
-rw-r--r-- | src/3rdparty/webkit/JavaScriptCore/runtime/ConstructData.h | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/ConstructData.h b/src/3rdparty/webkit/JavaScriptCore/runtime/ConstructData.h index 9d580d579..477399c16 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/ConstructData.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/ConstructData.h @@ -46,9 +46,42 @@ namespace JSC { typedef JSObject* (*NativeConstructor)(ExecState*, JSObject*, const ArgList&); - union ConstructData { +#ifdef QT_BUILD_SCRIPT_LIB + class NativeConstrWrapper + { + NativeConstructor ptr; + //Hack. If this variable is true and if debugger is attached at the end of + //operator() execution functionExit event will be created (in most cases it will be default) + //This variable was created because of FunctionWrapper::proxyCall method that change result + //on fly. Event shuld be created with original value so the method should call it itself. + bool callDebuggerFunctionExit; + public: + inline NativeConstrWrapper& operator=(NativeConstructor func) + { + callDebuggerFunctionExit = true; + ptr = func; + return *this; + } + inline operator NativeConstructor() const {return ptr;} + inline operator bool() const {return ptr;} + + inline void doNotCallDebuggerFunctionExit() {callDebuggerFunctionExit = false;} + JSObject* operator()(ExecState*, JSObject*, const ArgList&) const; + }; +#endif + +#if defined(QT_BUILD_SCRIPT_LIB) && PLATFORM(SOLARIS) + struct +#else + union +#endif + ConstructData { struct { +#ifndef QT_BUILD_SCRIPT_LIB NativeConstructor function; +#else + NativeConstrWrapper function; +#endif } native; struct { FunctionBodyNode* functionBody; |