| Index: Source/modules/webaudio/AudioNodeInput.cpp
|
| diff --git a/Source/modules/webaudio/AudioNodeInput.cpp b/Source/modules/webaudio/AudioNodeInput.cpp
|
| index bb157c7c74c70cc1a0022d80bd5c5def17776896..7c79549e62153cb52c4a8ce6913a42609675db6c 100644
|
| --- a/Source/modules/webaudio/AudioNodeInput.cpp
|
| +++ b/Source/modules/webaudio/AudioNodeInput.cpp
|
| @@ -62,6 +62,9 @@
|
| output->addInput(this);
|
| m_outputs.add(output);
|
| changedOutputs();
|
| +
|
| + // Sombody has just connected to us, so count it as a reference.
|
| + node()->ref(AudioNode::RefTypeConnection);
|
| }
|
|
|
| void AudioNodeInput::disconnect(AudioNodeOutput* output)
|
| @@ -77,8 +80,7 @@
|
| m_outputs.remove(output);
|
| changedOutputs();
|
| output->removeInput(this);
|
| - // Note: it's important to return immediately after removeInput() calls
|
| - // since the node may be deleted.
|
| + node()->deref(AudioNode::RefTypeConnection); // Note: it's important to return immediately after all deref() calls since the node may be deleted.
|
| return;
|
| }
|
|
|
| @@ -86,8 +88,7 @@
|
| if (m_disabledOutputs.contains(output)) {
|
| m_disabledOutputs.remove(output);
|
| output->removeInput(this);
|
| - // Note: it's important to return immediately after all removeInput() calls
|
| - // since the node may be deleted.
|
| + node()->deref(AudioNode::RefTypeConnection); // Note: it's important to return immediately after all deref() calls since the node may be deleted.
|
| return;
|
| }
|
|
|
|
|