Standalone App and AU plugin hang on attempted quit

Hi there, I’m working on a Vintage Compressor plugin, which is going well… BUT the Standalone App hangs on quit, and the AU plugin crashes the host on attempted removal. Both are fully functional when active. I am fairly new to Juce, and C++, although I do have a fair bit of experience with Swift and Obj C. Here is the output from the debug window: It looks to me as though the problem is with a ComboBox, but I’m not sure how to track it down… The only ComboBox in the plugin is a ‘zoom’ box. I suspect I’m not destroying it properly? Any help would be much appreciated! (Please forgive me if this is a really stupid question!) :-

JUCE Message Thread (1) Queue : com.apple.main-thread (serial) #0 0x0000000104b28734 in std::__1::default_delete<juce::Label>::operator()(juce::Label*) const at /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/__memory/unique_ptr.h:57 #1 0x00000001049754b4 in std::__1::unique_ptr<juce::Label, std::__1::default_delete<juce::Label> >::reset(juce::Label*) at /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/__memory/unique_ptr.h:318 #2 0x00000001049752cc in juce::ComboBox::~ComboBox() at /Users/neomacius/Documents/Developer/JUCE/modules/juce_gui_basics/widgets/juce_ComboBox.cpp:42 #3 0x0000000104909574 in juce::ComboBox::~ComboBox() at /Users/neomacius/Documents/Developer/JUCE/modules/juce_gui_basics/widgets/juce_ComboBox.cpp:39 #4 0x000000010436f030 in Meter::~Meter() at /Users/neomacius/JUCE/SS-MeterComp/Source/gui/include/Meter.h:27 #5 0x00000001043599cc in Meter::~Meter() at /Users/neomacius/JUCE/SS-MeterComp/Source/gui/include/Meter.h:27 #6 0x0000000104359e50 in SimpleCompressorAudioProcessorEditor::~SimpleCompressorAudioProcessorEditor() at /Users/neomacius/JUCE/SS-VC1-Compressor 2/Source/PluginEditor.cpp:716 #7 0x000000010435a744 in SimpleCompressorAudioProcessorEditor::~SimpleCompressorAudioProcessorEditor() at /Users/neomacius/JUCE/SS-VC1-Compressor 2/Source/PluginEditor.cpp:708 #8 0x000000010435a78c in SimpleCompressorAudioProcessorEditor::~SimpleCompressorAudioProcessorEditor() at /Users/neomacius/JUCE/SS-VC1-Compressor 2/Source/PluginEditor.cpp:708 #9 0x000000010432c1e0 in std::__1::default_delete<juce::AudioProcessorEditor>::operator()(juce::AudioProcessorEditor*) const at /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/__memory/unique_ptr.h:57 #10 0x000000010432c154 in std::__1::unique_ptr<juce::AudioProcessorEditor, std::__1::default_delete<juce::AudioProcessorEditor> >::reset(juce::AudioProcessorEditor*) at /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/__memory/unique_ptr.h:318 #11 0x000000010432c43c in std::__1::unique_ptr<juce::AudioProcessorEditor, std::__1::default_delete<juce::AudioProcessorEditor> >::operator=(std::nullptr_t) at /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/__memory/unique_ptr.h:276 #12 0x000000010432c334 in juce::StandaloneFilterWindow::MainContentComponent::~MainContentComponent() at /Users/neomacius/Documents/Developer/JUCE/modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterWindow.h:911 #13 0x000000010432af78 in juce::StandaloneFilterWindow::MainContentComponent::~MainContentComponent() at /Users/neomacius/Documents/Developer/JUCE/modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterWindow.h:906 #14 0x000000010432afa4 in juce::StandaloneFilterWindow::MainContentComponent::~MainContentComponent() at /Users/neomacius/Documents/Developer/JUCE/modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterWindow.h:906 #15 0x00000001048f0f60 in juce::Component::SafePointer<juce::Component>::deleteAndZero() at /Users/neomacius/Documents/Developer/JUCE/modules/juce_gui_basics/components/juce_Component.h:2314 #16 0x00000001049218fc in juce::ResizableWindow::clearContentComponent() at /Users/neomacius/Documents/Developer/JUCE/modules/juce_gui_basics/windows/juce_ResizableWindow.cpp:107 #17 0x000000010432e5c8 in juce::StandaloneFilterWindow::~StandaloneFilterWindow() at /Users/neomacius/Documents/Developer/JUCE/modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterWindow.h:784 #18 0x000000010431e1d0 in juce::StandaloneFilterWindow::~StandaloneFilterWindow() at /Users/neomacius/Documents/Developer/JUCE/modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterWindow.h:774 #19 0x000000010431e1fc in juce::StandaloneFilterWindow::~StandaloneFilterWindow() at /Users/neomacius/Documents/Developer/JUCE/modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterWindow.h:774 #20 0x000000010431ab28 in std::__1::default_delete<juce::StandaloneFilterWindow>::operator()(juce::StandaloneFilterWindow*) const at /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/__memory/unique_ptr.h:57 #21 0x000000010431aa9c in std::__1::unique_ptr<juce::StandaloneFilterWindow, std::__1::default_delete<juce::StandaloneFilterWindow> >::reset(juce::StandaloneFilterWindow*) at /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/__memory/unique_ptr.h:318 #22 0x000000010431ac98 in std::__1::unique_ptr<juce::StandaloneFilterWindow, std::__1::default_delete<juce::StandaloneFilterWindow> >::operator=(std::nullptr_t) at /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/__memory/unique_ptr.h:276 #23 0x0000000104319c2c in juce::StandaloneFilterApp::shutdown() at /Users/neomacius/Documents/Developer/JUCE/modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterApp.cpp:109 #24 0x00000001047aa270 in juce::JUCEApplicationBase::shutdownApp() at /Users/neomacius/Documents/Developer/JUCE/modules/juce_events/messages/juce_ApplicationBase.cpp:324 #25 0x00000001047aa0f8 in juce::JUCEApplicationBase::appWillTerminateByForce() at /Users/neomacius/Documents/Developer/JUCE/modules/juce_events/messages/juce_ApplicationBase.cpp:59 #26 0x00000001047c02e0 in juce::AppDelegateClass::applicationWillTerminate(objc_object*, objc_selector*, NSNotification*) at /Users/neomacius/Documents/Developer/JUCE/modules/juce_events/native/juce_mac_MessageManager.mm:118 #27 0x000000019ab6550c in __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ () #28 0x000000019ac09c08 in ___CFXRegistrationPost_block_invoke () #29 0x000000019ac09b74 in _CFXRegistrationPost () #30 0x000000019ab341b0 in _CFXNotificationPost () #31 0x000000019b9f8cc8 in -[NSNotificationCenter postNotificationName:object:userInfo:] () #32 0x000000019d95b31c in -[NSApplication terminate:] () #33 0x000000019d8d9844 in -[NSApplication(NSResponder) sendAction:to:from:] () #34 0x000000019d9cf72c in -[NSMenuItem _corePerformAction] () #35 0x000000019d9cf420 in -[NSCarbonMenuImpl performActionWithHighlightingForItemAtIndex:] () #36 0x000000019da18018 in -[NSMenu performActionForItemAtIndex:] () #37 0x000000019da17f38 in -[NSMenu _internalPerformActionForItemAtIndex:] () #38 0x000000019da17d44 in -[NSCarbonMenuImpl _carbonCommandProcessEvent:handlerCallRef:] () #39 0x000000019d9b32b0 in NSSLMMenuEventHandler () #40 0x00000001a377f6c8 in DispatchEventToHandlers(EventTargetRec*, OpaqueEventRef*, HandlerCallRec*) () #41 0x00000001a377eb4c in SendEventToEventTargetInternal(OpaqueEventRef*, OpaqueEventTargetRef*, HandlerCallRec*) () #42 0x00000001a3794e50 in SendEventToEventTarget () #43 0x00000001a37f5870 in SendHICommandEvent(unsigned int, HICommand const*, unsigned int, unsigned int, unsigned char, void const*, OpaqueEventTargetRef*, OpaqueEventTargetRef*, OpaqueEventRef**) () #44 0x00000001a381a9ac in SendMenuCommandWithContextAndModifiers () #45 0x00000001a381a93c in SendMenuItemSelectedEvent () #46 0x00000001a381a768 in FinishMenuSelection(SelectionData*, MenuResult*, MenuResult*) () #47 0x00000001a381b128 in MenuSelectCore(MenuData*, Point, double, unsigned int, OpaqueMenuRef**, unsigned short*) () #48 0x00000001a381ae48 in _HandleMenuSelection2 () #49 0x000000019d872964 in _NSHandleCarbonMenuEvent () #50 0x000000019d872744 in _DPSEventHandledByCarbon () #51 0x000000019d6d4824 in -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] () #52 0x000000019d6c6250 in -[NSApplication run] () #53 0x00000001047aaf9c in juce::MessageManager::runDispatchLoop() at /Users/neomacius/Documents/Developer/JUCE/modules/juce_events/native/juce_mac_MessageManager.mm:359 #54 0x00000001047aae74 in juce::JUCEApplicationBase::main() at /Users/neomacius/Documents/Developer/JUCE/modules/juce_events/messages/juce_ApplicationBase.cpp:262 #55 0x00000001047aaca4 in juce::JUCEApplicationBase::main(int, char const**) at /Users/neomacius/Documents/Developer/JUCE/modules/juce_events/messages/juce_ApplicationBase.cpp:240 #56 0x000000010431981c in main at /Users/neomacius/Documents/Developer/JUCE/modules/juce_audio_plugin_client/juce_audio_plugin_client_Standalone.cpp:47 #57 0x00000001075cd08c in start ()