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 f0013bf3e4..c87a6da429 100644 --- a/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp +++ b/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp @@ -927,11 +927,13 @@ public: { if (auto* pluginInstance = getPluginInstance()) { - if (pluginInstance->hasEditor() && name != nullptr - && strcmp (name, Vst::ViewType::kEditor) == 0) - { + const auto mayCreateEditor = pluginInstance->hasEditor() + && name != nullptr + && std::strcmp (name, Vst::ViewType::kEditor) == 0 + && pluginInstance->getActiveEditor() == nullptr; + + if (mayCreateEditor) return new JuceVST3Editor (*this, *pluginInstance); - } } return nullptr;