diff --git a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.mm b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.mm index fa7a48d36d..bd7710d4d0 100644 --- a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.mm +++ b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.mm @@ -89,6 +89,13 @@ void* attachComponentToWindowRef (Component* comp, void* windowRef) comp->addToDesktop (ComponentPeer::windowIgnoresKeyPresses, parentView); #endif + // (this workaround is because Wavelab provides a zero-size parent view..) + if ([parentView frame].size.height == 0) + [((NSView*) comp->getWindowHandle()) setFrameOrigin: NSZeroPoint]; + + comp->setVisible (true); + comp->toFront (false); + [[parentView window] setAcceptsMouseMovedEvents: YES]; return parentView; #else diff --git a/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp b/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp index 3ed45b42d3..9a81bc0f12 100644 --- a/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp +++ b/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp @@ -1230,8 +1230,7 @@ public: if (peer != nullptr) { - const Point pos (getScreenPosition() - peer->getScreenPosition()); - peer->addMaskedRegion (pos.getX(), pos.getY(), getWidth(), getHeight()); + peer->addMaskedRegion (getScreenBounds() - peer->getScreenPosition()); #if JUCE_LINUX if (pluginWindow != 0)