File 02-Threadsafety-improvements.patch of Package juce
From c2f058df8006aa10129b11c3b32b6cb47166a60a Mon Sep 17 00:00:00 2001
From: reuk <reuk@users.noreply.github.com>
Date: Fri, 13 Dec 2019 22:44:20 +0000
Subject: [PATCH] Threadsafety improvements
---
.../format_types/juce_VSTPluginFormat.cpp | 3 ++-
modules/juce_audio_processors/processors/juce_AudioProcessor.h | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp b/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp
index bdc935fc390..3eefda513b5 100644
--- a/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp
+++ b/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp
@@ -2053,7 +2053,8 @@ struct VSTPluginInstance : public AudioPluginInstance,
String name;
CriticalSection lock;
std::atomic<bool> wantsMidiMessages { false };
- bool initialised = false, isPowerOn = false;
+ bool initialised = false;
+ std::atomic<bool> isPowerOn { false };
bool lastProcessBlockCallWasBypass = false, vstSupportsBypass = false;
mutable StringArray programNames;
AudioBuffer<float> outOfPlaceBuffer;
diff --git a/modules/juce_audio_processors/processors/juce_AudioProcessor.h b/modules/juce_audio_processors/processors/juce_AudioProcessor.h
index 836b09c7c98..28f79f5c6fb 100644
--- a/modules/juce_audio_processors/processors/juce_AudioProcessor.h
+++ b/modules/juce_audio_processors/processors/juce_AudioProcessor.h
@@ -1466,7 +1466,8 @@ class JUCE_API AudioProcessor
Component::SafePointer<AudioProcessorEditor> activeEditor;
double currentSampleRate = 0;
int blockSize = 0, latencySamples = 0;
- bool suspended = false, nonRealtime = false;
+ bool suspended = false;
+ std::atomic<bool> nonRealtime { false };
ProcessingPrecision processingPrecision = singlePrecision;
CriticalSection callbackLock, listenerLock, activeEditorLock;