diff --git a/plugins/qpa/integration.cpp b/plugins/qpa/integration.cpp --- a/plugins/qpa/integration.cpp +++ b/plugins/qpa/integration.cpp @@ -205,11 +205,17 @@ void Integration::initScreens() { QVector newScreens; + newScreens.reserve(qMax(screens()->count(), 1)); for (int i = 0; i < screens()->count(); i++) { auto screen = new Screen(i); screenAdded(screen); newScreens << screen; } + if (newScreens.isEmpty()) { + auto dummyScreen = new Screen(-1); + screenAdded(dummyScreen); + newScreens << dummyScreen; + } while (!m_screens.isEmpty()) { destroyScreen(m_screens.takeLast()); }