History

more hacking

ZappoMan committed 11 years ago

Commit 8c4474b1 parent b2199373 files · +14 −10Browse files

Showing the changes to libraries/script-engine/src/ScriptEngine.cpp (1 of 3 files). Show all

Unified · Split

libraries/script-engine/src/ScriptEngine.cpp+11−7
@@ -94,6 +94,7 @@ ScriptEngine::ScriptEngine(const QString& scriptContents, const QString& fileNam · 93 unmodified lines
9494 _isUserLoaded(false),
9595 _arrayBufferClass(new ArrayBufferClass(this))
9696 {
97+ qDebug() << "[" << QThread::currentThread() << "]" << "ScriptEngine::ScriptEngine() " << getFilename() << "[" << this << "]";
9798 _allKnownScriptEngines.insert(this);
9899 }
99100
@@ -104,28 +105,31 @@ ScriptEngine::~ScriptEngine() { · 4 unmodified lines
104105
105106 QSet<ScriptEngine*> ScriptEngine::_allKnownScriptEngines;
106107
107−void ScriptEngine::gracefullyStopAllScripts() {
108+void ScriptEngine::gracefullyStopAllScripts(QObject* application) {
108109 qDebug() << "[" << QThread::currentThread() << "]" << "ScriptEngine::gracefullyStopAllScripts() ----------- START ------------------";
109110
110− QSet<ScriptEngine*>::const_iterator i = _allKnownScriptEngines.constBegin();
111− while (i != _allKnownScriptEngines.constEnd()) {
112− ScriptEngine* scriptEngine = *i;
113− qDebug() << scriptEngine;
111+
112+ QSetIterator<ScriptEngine*> i(_allKnownScriptEngines);
113+ while (i.hasNext()) {
114+ ScriptEngine* scriptEngine = i.next();
115+ qDebug() << (void*)scriptEngine;
114116
115117 if (scriptEngine->isRunning()) {
116118 qDebug() << "scriptEngine still alive:" << scriptEngine->getFilename() << "[" << scriptEngine << "]";
117119
118120 QEventLoop loop;
119121 QObject::connect(scriptEngine, &ScriptEngine::doneRunning, &loop, &QEventLoop::quit);
122+
123+ scriptEngine->disconnect(application);
120124
121125 scriptEngine->stop();
122126
123127 qDebug() << "waiting on script to stop... ";
124128 loop.exec();
125129 qDebug() << "done waiting... ";
130+ } else {
131+ qDebug() << "WARNING! scriptEngine [" << (void*)scriptEngine << "] still in _allKnownScriptEngines but not running??? <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<";
126132 }
127−
128− ++i;
129133 }
130134 qDebug() << "[" << QThread::currentThread() << "]" << "ScriptEngine::gracefullyStopAllScripts() ----------- DONE ------------------";
131135 }