Qt for WebAssembly now supports adding and removing canvases/screens at run-time, which makes it possible to end up with no screens.
This is not a well-tested configuration for Qt Gui. Qt for wasm now provides a convenient way to reproduce the no-screen configuration (screens are virtual, you don't have to unplug all monitors), so this is a good opportunity to improve no-screen support in cross-platform code.
- stale browser window resize handlers after canvas removal: https://codereview.qt-project.org/#/c/259866/
- QOpenGLWindow destructor requires a QScreen (via QOffScreenSurface).
- QDesktopWidget assumes at least one screen