mirror of
https://github.com/lubosz/overte.git
synced 2025-04-24 07:13:57 +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>();
|
||||
}
|
||||
|
||||
// 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::destroy<ScriptEngines>();
|
||||
|
||||
|
|
|
@ -312,7 +312,7 @@ JSConsole::~JSConsole() {
|
|||
delete _ui;
|
||||
}
|
||||
|
||||
void JSConsole::setScriptEngine(const ScriptEnginePointer& scriptEngine) {
|
||||
void JSConsole::setScriptEngine(const ScriptEnginePointer& scriptEngine) {
|
||||
if (_scriptEngine == scriptEngine && scriptEngine != nullptr) {
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -133,7 +133,7 @@ QUrl expandScriptUrl(const QUrl& rawScriptURL) {
|
|||
QObject* scriptsModel();
|
||||
|
||||
bool NativeScriptInitializers::registerNativeScriptInitializer(NativeScriptInitializer initializer) {
|
||||
return registerScriptInitializer([=](ScriptEnginePointer engine) {
|
||||
return registerScriptInitializer([initializer](ScriptEnginePointer engine) {
|
||||
initializer(qobject_cast<QScriptEngine*>(engine.data()));
|
||||
});
|
||||
}
|
||||
|
@ -563,10 +563,10 @@ int ScriptEngines::runScriptInitializers(ScriptEnginePointer scriptEngine) {
|
|||
|
||||
void ScriptEngines::launchScriptEngine(ScriptEnginePointer scriptEngine) {
|
||||
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);
|
||||
});
|
||||
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);
|
||||
});
|
||||
|
||||
|
|
|
@ -144,7 +144,7 @@ void DependencyManager::destroy() {
|
|||
shared.clear();
|
||||
// Check that the dependency was actually destroyed. If it wasn't, it was improperly captured somewhere
|
||||
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