mirror of
https://github.com/lubosz/overte.git
synced 2025-08-07 17:41:12 +02:00
some more attempted cleanup
This commit is contained in:
parent
7954865141
commit
d2699e8e5b
4 changed files with 7 additions and 5 deletions
|
@ -2474,6 +2474,8 @@ void Application::cleanupBeforeQuit() {
|
||||||
DependencyManager::destroy<EntityTreeRenderer>();
|
DependencyManager::destroy<EntityTreeRenderer>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// FIXME: Something is still holding on to the ScriptEnginePointers contained in ScriptEngines, and they hold backpointers to ScriptEngines,
|
||||||
|
// so this doesn't shut down properly
|
||||||
DependencyManager::get<ScriptEngines>()->shutdownScripting(); // stop all currently running global scripts
|
DependencyManager::get<ScriptEngines>()->shutdownScripting(); // stop all currently running global scripts
|
||||||
DependencyManager::destroy<ScriptEngines>();
|
DependencyManager::destroy<ScriptEngines>();
|
||||||
|
|
||||||
|
|
|
@ -312,7 +312,7 @@ JSConsole::~JSConsole() {
|
||||||
delete _ui;
|
delete _ui;
|
||||||
}
|
}
|
||||||
|
|
||||||
void JSConsole::setScriptEngine(const ScriptEnginePointer& scriptEngine) {
|
void JSConsole::setScriptEngine(const ScriptEnginePointer& scriptEngine) {
|
||||||
if (_scriptEngine == scriptEngine && scriptEngine != nullptr) {
|
if (_scriptEngine == scriptEngine && scriptEngine != nullptr) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -133,7 +133,7 @@ QUrl expandScriptUrl(const QUrl& rawScriptURL) {
|
||||||
QObject* scriptsModel();
|
QObject* scriptsModel();
|
||||||
|
|
||||||
bool NativeScriptInitializers::registerNativeScriptInitializer(NativeScriptInitializer initializer) {
|
bool NativeScriptInitializers::registerNativeScriptInitializer(NativeScriptInitializer initializer) {
|
||||||
return registerScriptInitializer([=](ScriptEnginePointer engine) {
|
return registerScriptInitializer([initializer](ScriptEnginePointer engine) {
|
||||||
initializer(qobject_cast<QScriptEngine*>(engine.data()));
|
initializer(qobject_cast<QScriptEngine*>(engine.data()));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -563,10 +563,10 @@ int ScriptEngines::runScriptInitializers(ScriptEnginePointer scriptEngine) {
|
||||||
|
|
||||||
void ScriptEngines::launchScriptEngine(ScriptEnginePointer scriptEngine) {
|
void ScriptEngines::launchScriptEngine(ScriptEnginePointer scriptEngine) {
|
||||||
connect(scriptEngine.data(), &ScriptEngine::finished, this, &ScriptEngines::onScriptFinished, Qt::DirectConnection);
|
connect(scriptEngine.data(), &ScriptEngine::finished, this, &ScriptEngines::onScriptFinished, Qt::DirectConnection);
|
||||||
connect(scriptEngine.data(), &ScriptEngine::loadScript, [&](const QString& scriptName, bool userLoaded) {
|
connect(scriptEngine.data(), &ScriptEngine::loadScript, [this](const QString& scriptName, bool userLoaded) {
|
||||||
loadScript(scriptName, userLoaded);
|
loadScript(scriptName, userLoaded);
|
||||||
});
|
});
|
||||||
connect(scriptEngine.data(), &ScriptEngine::reloadScript, [&](const QString& scriptName, bool userLoaded) {
|
connect(scriptEngine.data(), &ScriptEngine::reloadScript, [this](const QString& scriptName, bool userLoaded) {
|
||||||
loadScript(scriptName, userLoaded, false, false, true);
|
loadScript(scriptName, userLoaded, false, false, true);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -144,7 +144,7 @@ void DependencyManager::destroy() {
|
||||||
shared.clear();
|
shared.clear();
|
||||||
// Check that the dependency was actually destroyed. If it wasn't, it was improperly captured somewhere
|
// Check that the dependency was actually destroyed. If it wasn't, it was improperly captured somewhere
|
||||||
if (weak.lock()) {
|
if (weak.lock()) {
|
||||||
qWarning() << "DependencyManager::destroy(): Dependency was not properly destroyed!";
|
qWarning() << "DependencyManager::destroy():" << typeid(T).name() << "was not properly destroyed!";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue