diff options
author | Kent Hansen <khansen@trolltech.com> | 2009-11-18 13:54:10 (GMT) |
---|---|---|
committer | Jason McDonald <jason.mcdonald@nokia.com> | 2009-11-19 12:40:57 (GMT) |
commit | b4ac9343da1494d545b2371b87504f869504a12f (patch) | |
tree | a47dae817b7b59defb5f73c92e9372366ec3fd03 /src | |
parent | f5e3cfd6ad00faa279f792c2e1340dfe5d3943fb (diff) | |
download | Qt-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.cpp | 6 |
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); |