diff options
author | Kent Hansen <khansen@trolltech.com> | 2009-11-18 13:54:10 (GMT) |
---|---|---|
committer | Kent Hansen <khansen@trolltech.com> | 2009-11-18 14:06:38 (GMT) |
commit | fb4e81bdc692efe0db9aa38dd2b941578c0f0370 (patch) | |
tree | 7b67bf2222058c5d1f3586cd9d3241c87d530d39 | |
parent | e59d974ddf2f2a413611ba4d8594c6413499a645 (diff) | |
download | Qt-fb4e81bdc692efe0db9aa38dd2b941578c0f0370.zip Qt-fb4e81bdc692efe0db9aa38dd2b941578c0f0370.tar.gz Qt-fb4e81bdc692efe0db9aa38dd2b941578c0f0370.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
-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); |