History

Wrap sound script object to hold a strong ref

Atlante45 committed 10 years ago

Commit 6d1b7f11 parent 30fc9ef8 files · +43 −34Browse files

Showing the changes to libraries/script-engine/src/AudioScriptingInterface.cpp (1 of 8 files). Show all

Unified · Split

libraries/script-engine/src/AudioScriptingInterface.cpp+3−3
@@ -17,7 +17,6 @@ · 16 unmodified lines
17void registerAudioMetaTypes(QScriptEngine* engine) {17void registerAudioMetaTypes(QScriptEngine* engine) {
18 qScriptRegisterMetaType(engine, injectorOptionsToScriptValue, injectorOptionsFromScriptValue);18 qScriptRegisterMetaType(engine, injectorOptionsToScriptValue, injectorOptionsFromScriptValue);
19 qScriptRegisterMetaType(engine, soundSharedPointerToScriptValue, soundSharedPointerFromScriptValue);19 qScriptRegisterMetaType(engine, soundSharedPointerToScriptValue, soundSharedPointerFromScriptValue);
20 qScriptRegisterMetaType(engine, soundPointerToScriptValue, soundPointerFromScriptValue);
21}20}
22 21
23AudioScriptingInterface& AudioScriptingInterface::getInstance() {22AudioScriptingInterface& AudioScriptingInterface::getInstance() {
@@ -31,13 +30,14 @@ AudioScriptingInterface::AudioScriptingInterface() : · 7 unmodified lines
31 30
32}31}
33 32
34ScriptAudioInjector* AudioScriptingInterface::playSound(Sound* sound, const AudioInjectorOptions& injectorOptions) {33ScriptAudioInjector* AudioScriptingInterface::playSound(SharedSoundPointer sound, const AudioInjectorOptions& injectorOptions) {
35 if (QThread::currentThread() != thread()) {34 if (QThread::currentThread() != thread()) {
36 ScriptAudioInjector* injector = NULL;35 ScriptAudioInjector* injector = NULL;
37 36
38 QMetaObject::invokeMethod(this, "playSound", Qt::BlockingQueuedConnection,37 QMetaObject::invokeMethod(this, "playSound", Qt::BlockingQueuedConnection,
39 Q_RETURN_ARG(ScriptAudioInjector*, injector),38 Q_RETURN_ARG(ScriptAudioInjector*, injector),
40 Q_ARG(Sound*, sound), Q_ARG(const AudioInjectorOptions&, injectorOptions));39 Q_ARG(SharedSoundPointer, sound),
40 Q_ARG(const AudioInjectorOptions&, injectorOptions));
41 return injector;41 return injector;
42 }42 }
43 43