From dde8f4b68cddc60a7989256449257e7b6cb4816d Mon Sep 17 00:00:00 2001 From: ed Date: Tue, 28 Jan 2020 09:44:23 +0000 Subject: [PATCH] Re-attach ResizableCornerComponent when calling AudioProcessorEditor::setContrainer() so the new constrainer is respected --- .../processors/juce_AudioProcessorEditor.cpp | 19 ++++++++++++------- .../processors/juce_AudioProcessorEditor.h | 1 + 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp b/modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp index 8e44bb29e9..0c660ae67a 100644 --- a/modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp +++ b/modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp @@ -103,15 +103,9 @@ void AudioProcessorEditor::setResizable (const bool shouldBeResizable, const boo if (shouldHaveCornerResizer != (resizableCorner != nullptr)) { if (shouldHaveCornerResizer) - { - resizableCorner.reset (new ResizableCornerComponent (this, constrainer)); - Component::addChildComponent (resizableCorner.get()); - resizableCorner->setAlwaysOnTop (true); - } + attachResizableCornerComponent(); else - { resizableCorner.reset(); - } } } @@ -146,6 +140,9 @@ void AudioProcessorEditor::setConstrainer (ComponentBoundsConstrainer* newConstr || newConstrainer->getMinimumHeight() != newConstrainer->getMaximumHeight()); attachConstrainer (newConstrainer); + + if (resizableCorner != nullptr) + attachResizableCornerComponent(); } } @@ -158,6 +155,14 @@ void AudioProcessorEditor::attachConstrainer (ComponentBoundsConstrainer* newCon } } +void AudioProcessorEditor::attachResizableCornerComponent() +{ + resizableCorner.reset (new ResizableCornerComponent (this, constrainer)); + Component::addChildComponent (resizableCorner.get()); + resizableCorner->setAlwaysOnTop (true); + editorResized (true); +} + void AudioProcessorEditor::setBoundsConstrained (Rectangle newBounds) { if (constrainer != nullptr) diff --git a/modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h b/modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h index d7f9282f53..623390ffc9 100644 --- a/modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h +++ b/modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h @@ -200,6 +200,7 @@ private: void editorResized (bool wasResized); void updatePeer(); void attachConstrainer (ComponentBoundsConstrainer*); + void attachResizableCornerComponent(); //============================================================================== std::unique_ptr resizeListener;