diff --git a/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp b/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp index 06b2e70547..3e94c1ea72 100644 --- a/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp +++ b/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp @@ -944,7 +944,14 @@ private: if (auto* constrainer = editor->getConstrainer()) { Rectangle limits (0, 0, constrainer->getMaximumWidth(), constrainer->getMaximumHeight()); - constrainer->checkBounds (juceRect, editor->getBounds(), limits, false, false, false, false); + + auto currentRect = editor->getBounds(); + + constrainer->checkBounds (juceRect, currentRect, limits, + juceRect.getY() != currentRect.getY() && juceRect.getBottom() == currentRect.getBottom(), + juceRect.getX() != currentRect.getX() && juceRect.getRight() == currentRect.getRight(), + juceRect.getY() == currentRect.getY() && juceRect.getBottom() != currentRect.getBottom(), + juceRect.getX() == currentRect.getX() && juceRect.getRight() != currentRect.getRight()); juceRect = component->getLocalArea (editor, juceRect);