Showing the changes to libraries/script-engine/src/ScriptEngine.cpp (1 of 3 files). Show all
Unified · Split
| @@ -142,14 +142,18 @@ ScriptEngine::ScriptEngine(const QString& scriptContents, const QString& fileNam · 141 unmodified lines | |||
| 142 | } | 142 | } |
| 143 | 143 | ||
| 144 | ScriptEngine::~ScriptEngine() { | 144 | ScriptEngine::~ScriptEngine() { |
| 145 | qCDebug(scriptengine) << __FUNCTION__ << "--- BEGIN --- script:" << getFilename(); | ||
| 145 | qCDebug(scriptengine) << "Script Engine shutting down (destructor) for script:" << getFilename(); | 146 | qCDebug(scriptengine) << "Script Engine shutting down (destructor) for script:" << getFilename(); |
| 146 | 147 | ||
| 147 | auto scriptEngines = DependencyManager::get<ScriptEngines>(); | 148 | auto scriptEngines = DependencyManager::get<ScriptEngines>(); |
| 148 | if (scriptEngines) { | 149 | if (scriptEngines) { |
| 150 | qCDebug(scriptengine) << "About to remove ScriptEngine [" << getFilename() << "] from ScriptEngines!"; | ||
| 149 | scriptEngines->removeScriptEngine(this); | 151 | scriptEngines->removeScriptEngine(this); |
| 152 | qCDebug(scriptengine) << "AFTER remove ScriptEngine [" << getFilename() << "] from ScriptEngines!"; | ||
| 150 | } else { | 153 | } else { |
| 151 | qCWarning(scriptengine) << "Script destroyed after ScriptEngines!"; | 154 | qCWarning(scriptengine) << "Script destroyed after ScriptEngines!"; |
| 152 | } | 155 | } |
| 156 | qCDebug(scriptengine) << __FUNCTION__ << "--- END --- script:" << getFilename(); | ||
| 153 | } | 157 | } |
| 154 | 158 | ||
| 155 | void ScriptEngine::disconnectNonEssentialSignals() { | 159 | void ScriptEngine::disconnectNonEssentialSignals() { |
| @@ -1197,6 +1201,8 @@ void ScriptEngine::unloadEntityScript(const EntityItemID& entityID) { · 1041 unmodified lines | |||
| 1197 | } | 1201 | } |
| 1198 | } | 1202 | } |
| 1199 | 1203 | ||
| 1204 | #include <QScriptValueIterator> | ||
| 1205 | |||
| 1200 | void ScriptEngine::unloadAllEntityScripts() { | 1206 | void ScriptEngine::unloadAllEntityScripts() { |
| 1201 | if (QThread::currentThread() != thread()) { | 1207 | if (QThread::currentThread() != thread()) { |
| 1202 | #ifdef THREAD_DEBUGGING | 1208 | #ifdef THREAD_DEBUGGING |
| @@ -1213,6 +1219,16 @@ void ScriptEngine::unloadAllEntityScripts() { · 10 unmodified lines | |||
| 1213 | callEntityScriptMethod(entityID, "unload"); | 1219 | callEntityScriptMethod(entityID, "unload"); |
| 1214 | } | 1220 | } |
| 1215 | _entityScripts.clear(); | 1221 | _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 | ||
| 1216 | } | 1232 | } |
| 1217 | 1233 | ||
| 1218 | void ScriptEngine::refreshFileScript(const EntityItemID& entityID) { | 1234 | void ScriptEngine::refreshFileScript(const EntityItemID& entityID) { |