commit 610d816057afe0a221f3b358114487c4c5739717
parent 4ade67099bd718e77a41ccca6021212d1c158aee
Author: dsp56300 <dsp56300@users.noreply.github.com>
Date: Sun, 20 Mar 2022 17:09:58 +0100
ensure that the plugin doesn't crash if a skin fails to load or if skins are switched
Diffstat:
3 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/source/jucePlugin/PluginEditor.cpp b/source/jucePlugin/PluginEditor.cpp
@@ -52,6 +52,7 @@ void AudioPluginAudioProcessorEditor::loadSkin(int index)
auto* errorLabel = new juce::Label();
errorLabel->setText(juce::String("Failed to load editor\n\n") + _err.what(), juce::dontSendNotification);
+ errorLabel->setFont(juce::Font(juce::Font::getDefaultSansSerifFontName(), 36, 0));
errorLabel->setJustificationType(juce::Justification::centred);
errorLabel->setSize(400, 300);
diff --git a/source/jucePlugin/ui3/VirusEditor.cpp b/source/jucePlugin/ui3/VirusEditor.cpp
@@ -117,6 +117,13 @@ namespace genericVirusUI
menuButton->onClick = m_openMenuCallback;
}
+ VirusEditor::~VirusEditor()
+ {
+ m_parameterBinding.clearBindings();
+
+ getController().onProgramChange = nullptr;
+ }
+
Virus::Controller& VirusEditor::getController() const
{
return m_processor.getController();
diff --git a/source/jucePlugin/ui3/VirusEditor.h b/source/jucePlugin/ui3/VirusEditor.h
@@ -17,6 +17,7 @@ namespace genericVirusUI
{
public:
VirusEditor(VirusParameterBinding& _binding, Virus::Controller& _controller, AudioPluginAudioProcessor &_processorRef, const std::string& _jsonFilename, std::function<void()> _openMenuCallback);
+ ~VirusEditor() override;
void setPart(size_t _part);