Hello.
I'm having a problem with my plugin crashing. I can create and unload as many instances as I want, however, when I remove the last instance and then create another one, it crashes the host.
I believe the look and feel is causing the problem. It happens in both AU and VST versions. I'm on OSX Yosemite.
I'm inheriting deletedAtShutdown, and using a singleton http://www.juce.com/forum/topic/setdefaultlookandfeel
I've tried decalring singleton false for doNotRecreateAfterDeletion, but that will not reload the L&F if I reload the plugin after unloading it, and defaults to the stock V3 Look and feel.
Have I missed something silly? Should I be checking if the singleton exists before calling getInstance()?
EDIT: Oh, and I'm pretty sure this didn't happen until I updated the modules to the latest version. I was only a couple of points behind until the update.
Cheers..
Here's my crash log and implementation....
eg. .h
class MyLookAndFeel : public LookAndFeel_V3, public DeletedAtShutdown { public: MyLookAndFeel(); ~MyLookAndFeel(); juce_DeclareSingleton (MyLookAndFeel, true); void drawButtonBackground (Graphics&, Button&, const Colour& backgroundColour, bool isMouseOverButton, bool isButtonDown) override;
eg.cpp
MyLookAndFeel::MyLookAndFeel() { } MyLookAndFeel::~MyLookAndFeel() { } juce_ImplementSingleton (MyLookAndFeel)
and in the editor...
LookAndFeel::setDefaultLookAndFeel(MyLookAndFeel::getInstance());
Here's the crash report from Apple.....
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 com.MyPluginID.MyPlugin 0x0000000128357d38 juce::ComboBox::lookAndFeelChanged() + 68 1 com.MyPluginID.MyPlugin 0x000000012832193d juce::Component::internalHierarchyChanged() + 71 2 com.MyPluginID.MyPlugin 0x0000000128321999 juce::Component::internalHierarchyChanged() + 163 3 com.MyPluginID.MyPlugin 0x00000001283231fd juce::Component::addChildComponent(juce::Component&, int) + 211 4 com.MyPluginID.MyPlugin 0x0000000128292fb4 MyPluginAudioProcessorEditor::MyPluginAudioProcessorEditor(MyPluginAudioProcessor*) + 1330 5 com.MyPluginID.MyPlugin 0x0000000128292332 MyPluginAudioProcessor::createEditor() + 34 6 com.MyPluginID.MyPlugin 0x00000001282a8ecd juce::AudioProcessor::createEditorIfNeeded() + 63 7 com.MyPluginID.MyPlugin 0x00000001282a3ff3 JuceAU::JuceUICreationClass::uiViewForAudioUnit(objc_object*,