From bc3e330f97d575f2ba36012023f0ea82ed4d4933 Mon Sep 17 00:00:00 2001 From: Tom Poole Date: Tue, 25 Jun 2019 13:33:20 +0100 Subject: [PATCH] AUv3: Fixed a potential crash when producing MIDI from plug-ins --- .../juce_audio_plugin_client/AU/juce_AUv3_Wrapper.mm | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/modules/juce_audio_plugin_client/AU/juce_AUv3_Wrapper.mm b/modules/juce_audio_plugin_client/AU/juce_AUv3_Wrapper.mm index 775ad4aefb..56e829d17f 100644 --- a/modules/juce_audio_plugin_client/AU/juce_AUv3_Wrapper.mm +++ b/modules/juce_audio_plugin_client/AU/juce_AUv3_Wrapper.mm @@ -1522,12 +1522,14 @@ private: // send MIDI #if JucePlugin_ProducesMidiOutput && JUCE_AUV3_MIDI_OUTPUT_SUPPORTED - auto midiOut = [au MIDIOutputEventBlock]; - MidiMessage msg; - int samplePosition; + if (auto midiOut = [au MIDIOutputEventBlock]) + { + MidiMessage msg; + int samplePosition; - for (MidiBuffer::Iterator it (midiMessages); it.getNextEvent (msg, samplePosition);) - midiOut (samplePosition, 0, msg.getRawDataSize(), msg.getRawData()); + for (MidiBuffer::Iterator it (midiMessages); it.getNextEvent (msg, samplePosition);) + midiOut (samplePosition, 0, msg.getRawDataSize(), msg.getRawData()); + } #endif midiMessages.clear();