History

first cut at resetting entities script engine on domain change

Brad Hefta-Gaub committed 10 years ago

Commit 87078b11 parent 7b495523 files · +89 −5Browse 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+16−0
@@ -142,14 +142,18 @@ ScriptEngine::ScriptEngine(const QString& scriptContents, const QString& fileNam · 141 unmodified lines
142142 }
143143
144144 ScriptEngine::~ScriptEngine() {
145+ qCDebug(scriptengine) << __FUNCTION__ << "--- BEGIN --- script:" << getFilename();
145146 qCDebug(scriptengine) << "Script Engine shutting down (destructor) for script:" << getFilename();
146147
147148 auto scriptEngines = DependencyManager::get<ScriptEngines>();
148149 if (scriptEngines) {
150+ qCDebug(scriptengine) << "About to remove ScriptEngine [" << getFilename() << "] from ScriptEngines!";
149151 scriptEngines->removeScriptEngine(this);
152+ qCDebug(scriptengine) << "AFTER remove ScriptEngine [" << getFilename() << "] from ScriptEngines!";
150153 } else {
151154 qCWarning(scriptengine) << "Script destroyed after ScriptEngines!";
152155 }
156+ qCDebug(scriptengine) << __FUNCTION__ << "--- END --- script:" << getFilename();
153157 }
154158
155159 void ScriptEngine::disconnectNonEssentialSignals() {
@@ -1197,6 +1201,8 @@ void ScriptEngine::unloadEntityScript(const EntityItemID& entityID) { · 1041 unmodified lines
11971201 }
11981202 }
11991203
1204+#include <QScriptValueIterator>
1205+
12001206 void ScriptEngine::unloadAllEntityScripts() {
12011207 if (QThread::currentThread() != thread()) {
12021208 #ifdef THREAD_DEBUGGING
@@ -1213,6 +1219,16 @@ void ScriptEngine::unloadAllEntityScripts() { · 10 unmodified lines
12131219 callEntityScriptMethod(entityID, "unload");
12141220 }
12151221 _entityScripts.clear();
1222+
1223+#ifdef DEBUG_ENGINE_STATE
1224+ qDebug() << "---- CURRENT STATE OF ENGINE: --------------------------";
1225+ QScriptValueIterator it(globalObject());
1226+ while (it.hasNext()) {
1227+ it.next();
1228+ qDebug() << it.name() << ":" << it.value().toString();
1229+ }
1230+ qDebug() << "--------------------------------------------------------";
1231+#endif // DEBUG_ENGINE_STATE
12161232 }
12171233
12181234 void ScriptEngine::refreshFileScript(const EntityItemID& entityID) {