From 1616c0ee263cb39aacc25c418b50faaa0e9cdb01 Mon Sep 17 00:00:00 2001 From: reuk Date: Wed, 16 Feb 2022 13:43:13 +0000 Subject: [PATCH] CoreAudio: Ensure devices are restarted correctly after changing sample rate f1b6bbc92130a1927727d10008973e2296add356 erroneously replaced callback = newCallback; previousCallback = callback; with previousCallback = std::exchange (callback, newCallback); It looks like previousCallback is intended to hold the last active callback, so the previous version was correct after all. --- modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp b/modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp index 8cb3f367f7..24e5bfda7b 100644 --- a/modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp +++ b/modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp @@ -1555,7 +1555,7 @@ public: newCallback->audioDeviceAboutToStart (this); const ScopedLock sl (callbackLock); - previousCallback = std::exchange (callback, newCallback); + previousCallback = callback = newCallback; } }