From a9d34136260264ae33649f4664eb6c227ceb177e Mon Sep 17 00:00:00 2001 From: Simon Walton Date: Thu, 25 Jul 2019 17:51:01 -0700 Subject: [PATCH] Delete script audio-injector wrapper when wrapped object goes --- libraries/script-engine/src/ScriptAudioInjector.cpp | 1 + libraries/script-engine/src/ScriptAudioInjector.h | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/libraries/script-engine/src/ScriptAudioInjector.cpp b/libraries/script-engine/src/ScriptAudioInjector.cpp index 267ac3339d..f149718b1f 100644 --- a/libraries/script-engine/src/ScriptAudioInjector.cpp +++ b/libraries/script-engine/src/ScriptAudioInjector.cpp @@ -30,6 +30,7 @@ ScriptAudioInjector::ScriptAudioInjector(const AudioInjectorPointer& injector) : _injector(injector) { QObject::connect(injector.data(), &AudioInjector::finished, this, &ScriptAudioInjector::finished); + connect(injector.data(), &QObject::destroyed, this, &QObject::deleteLater); } ScriptAudioInjector::~ScriptAudioInjector() { diff --git a/libraries/script-engine/src/ScriptAudioInjector.h b/libraries/script-engine/src/ScriptAudioInjector.h index 3023623d72..5f086019de 100644 --- a/libraries/script-engine/src/ScriptAudioInjector.h +++ b/libraries/script-engine/src/ScriptAudioInjector.h @@ -137,7 +137,7 @@ signals: void finished(); private: - AudioInjectorPointer _injector; + QWeakPointer _injector; friend QScriptValue injectorToScriptValue(QScriptEngine* engine, ScriptAudioInjector* const& in); };