diff --git a/modules/juce_gui_basics/components/juce_Component.cpp b/modules/juce_gui_basics/components/juce_Component.cpp index aa1ac2e036..f93d76b087 100644 --- a/modules/juce_gui_basics/components/juce_Component.cpp +++ b/modules/juce_gui_basics/components/juce_Component.cpp @@ -565,6 +565,7 @@ void Component::addToDesktop (int styleWanted, void* nativeWindowToAttachTo) bool wasMinimised = false; ComponentBoundsConstrainer* currentConstainer = nullptr; Rectangle oldNonFullScreenBounds; + int oldRenderingEngine = -1; if (peer != nullptr) { @@ -574,6 +575,7 @@ void Component::addToDesktop (int styleWanted, void* nativeWindowToAttachTo) wasMinimised = peer->isMinimised(); currentConstainer = peer->getConstrainer(); oldNonFullScreenBounds = peer->getNonFullScreenBounds(); + oldRenderingEngine = peer->getCurrentRenderingEngine(); flags.hasHeavyweightPeerFlag = false; Desktop::getInstance().removeDesktopComponent (this); @@ -598,6 +600,10 @@ void Component::addToDesktop (int styleWanted, void* nativeWindowToAttachTo) bounds.setPosition (topLeft); peer->setBounds (topLeft.x, topLeft.y, getWidth(), getHeight(), false); + + if (oldRenderingEngine >= 0) + peer->setCurrentRenderingEngine (oldRenderingEngine); + peer->setVisible (isVisible()); peer = ComponentPeer::getPeerFor (this);