Run standalone plugin host, drag it to second monitor, quit. Disconnect monitor. Run it again, it’s offscreen and can’t be found. This is how I’m currently handling it:
void MyAudioProcessorEditor::handleAsyncUpdate()
{
#if JucePlugin_Build_Standalone
if (auto* c = getTopLevelComponent())
{
bool onScreen = false;
for (auto area : Desktop::getInstance().getDisplays().getRectangleList (true))
if (area.contains (c->getBounds()))
onScreen = true;
if (! onScreen)
c->centreWithSize (c->getWidth(), c->getHeight());
if (auto* dw = dynamic_cast<DocumentWindow*>(c))
dw->setResizable (true, false);
}
#endif
}
