One of our users reports a crash for one of our plugins. It is a VST3-plugin based on JUCE 7.0.5 using OpenGL and the user uses Ableton Live on MacOS with Intel x86-64. The crash report shows that the crash is inside this call:
juce::Desktop::getInstance()
Our plugin is calling this method within the message thread shortly after the AudioEditor constructor was called (the call is inside a lambda given to juce::MessageManager::callAsync
called in the AudioEditor constructor). The strack trace leads to line 667 in file juce/modules/juce_gui_basics/native/juce_mac_Windowing.mm
in method Displays::findDisplays
:
DisplaySettingsChangeCallback::getInstance()->forceDisplayUpdate = [this] { refresh(); };
In this line the =
-operator fails (i.e. the underlying std::function::swap
).
Our testers and the dev team are not able to provoke this crash locally. We have only the crash report of the user. The previous version of this plugin using JUCE 6.1.0 with the same call of juce::Desktop::getInstance()
works for this user.