diff --git a/modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp b/modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp index 30249c0a53..038fbb5d7c 100644 --- a/modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp +++ b/modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp @@ -73,7 +73,7 @@ void AudioProcessorEditor::initialise() // END SECTION A - setConstrainer (&defaultConstrainer); + attachConstrainer (&defaultConstrainer); resizeListener.reset (new AudioProcessorEditorListener (*this)); addComponentListener (resizeListener.get()); } @@ -124,8 +124,7 @@ void AudioProcessorEditor::setConstrainer (ComponentBoundsConstrainer* newConstr { if (constrainer != newConstrainer) { - constrainer = newConstrainer; - updatePeer(); + attachConstrainer (newConstrainer); if (constrainer != nullptr) resizableByHost = (newConstrainer->getMinimumWidth() != newConstrainer->getMaximumWidth() @@ -136,6 +135,15 @@ void AudioProcessorEditor::setConstrainer (ComponentBoundsConstrainer* newConstr } } +void AudioProcessorEditor::attachConstrainer (ComponentBoundsConstrainer* newConstrainer) +{ + if (constrainer != newConstrainer) + { + constrainer = newConstrainer; + updatePeer(); + } +} + void AudioProcessorEditor::attachResizableCornerComponent() { resizableCorner = std::make_unique (this, constrainer); diff --git a/modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h b/modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h index c925540c90..af6a73eca3 100644 --- a/modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h +++ b/modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h @@ -211,6 +211,7 @@ private: void initialise(); void editorResized (bool wasResized); void updatePeer(); + void attachConstrainer (ComponentBoundsConstrainer*); void attachResizableCornerComponent(); //==============================================================================