summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKent Hansen <khansen@trolltech.com>2009-11-18 13:54:10 (GMT)
committerJason McDonald <jason.mcdonald@nokia.com>2009-11-19 12:40:57 (GMT)
commitb4ac9343da1494d545b2371b87504f869504a12f (patch)
treea47dae817b7b59defb5f73c92e9372366ec3fd03 /src
parentf5e3cfd6ad00faa279f792c2e1340dfe5d3943fb (diff)
downloadQt-b4ac9343da1494d545b2371b87504f869504a12f.zip
Qt-b4ac9343da1494d545b2371b87504f869504a12f.tar.gz
Qt-b4ac9343da1494d545b2371b87504f869504a12f.tar.bz2
Application object must be constructed before QScriptEngine
This is required due to the switch to the JavaScriptCore-based back-end. Instead of segfaulting somewhere inside JSC::initializeThreading(), call qFatal() when this constraint has been violated. Reviewed-by: Simon Hausmann (cherry picked from commit fb4e81bdc692efe0db9aa38dd2b941578c0f0370)
Diffstat (limited to 'src')
-rw-r--r--src/script/api/qscriptengine.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/script/api/qscriptengine.cpp b/src/script/api/qscriptengine.cpp
index d519102..02eb9a3 100644
--- a/src/script/api/qscriptengine.cpp
+++ b/src/script/api/qscriptengine.cpp
@@ -776,7 +776,11 @@ QScriptEnginePrivate::QScriptEnginePrivate()
qMetaTypeId<QObjectList>();
#endif
- JSC::initializeThreading(); // ### hmmm
+ if (!QCoreApplication::instance()) {
+ qFatal("QScriptEngine: Must construct a Q(Core)Application before a QScriptEngine");
+ return;
+ }
+ JSC::initializeThreading();
globalData = JSC::JSGlobalData::create().releaseRef();
globalData->clientData = new QScript::GlobalClientData(this);