diff --git a/modules/juce_audio_plugin_client/AU/juce_AU_Wrapper.mm b/modules/juce_audio_plugin_client/AU/juce_AU_Wrapper.mm index fb0aae86a0..18ae842d22 100644 --- a/modules/juce_audio_plugin_client/AU/juce_AU_Wrapper.mm +++ b/modules/juce_audio_plugin_client/AU/juce_AU_Wrapper.mm @@ -924,7 +924,7 @@ public: return noErr; } - void componentMovedOrResized (Component& component, bool /*wasMoved*/, bool /*wasResized*/) + void componentMovedOrResized (Component& component, bool /*wasMoved*/, bool /*wasResized*/) override { NSView* view = (NSView*) component.getWindowHandle(); NSRect r = [[view superview] frame]; diff --git a/modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h b/modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h index 9fd7b7cf11..d9ea5c0c97 100644 --- a/modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h +++ b/modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h @@ -71,13 +71,13 @@ public: //============================================================================== /** @internal */ - void componentParentHierarchyChanged (Component& component); + void componentParentHierarchyChanged (Component&) override; /** @internal */ - void componentMovedOrResized (Component& component, bool wasMoved, bool wasResized); + void componentMovedOrResized (Component&, bool wasMoved, bool wasResized) override; /** @internal */ - void componentBeingDeleted (Component& component); + void componentBeingDeleted (Component&) override; /** @internal */ - void componentVisibilityChanged (Component& component); + void componentVisibilityChanged (Component&) override; private: //============================================================================== diff --git a/modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h b/modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h index ed29d26bb9..76379eeef3 100644 --- a/modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h +++ b/modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h @@ -224,6 +224,15 @@ public: setEmbeddedWindowToOurSize(); } + // (overridden to intercept movements of the top-level window) + void componentMovedOrResized (Component& component, bool wasMoved, bool wasResized) override + { + ComponentMovementWatcher::componentMovedOrResized (component, wasMoved, wasResized); + + if (&component == getTopLevelComponent()) + setEmbeddedWindowToOurSize(); + } + void componentPeerChanged() override { deleteWindow();