Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
5.15.17, 5.15.19, 6.9.1
-
None
-
-
macOS
Description
On a Mac that has two or more physical screens:
- Create a QWindow using the Metal rendering backend.
- Render a new frame to the QWindow every time it receives a QEvent::UpdateRequest
- Host the QWindow inside a top-level QWidget using QWidget::createWindowContainer()
- Reparent the container Widget into another toplevel QWidget
If both toplevel QWidgets are on the same physical screen, rendering continues as expected.
If the other toplevel QWidget is on a different screen, UpdateRequest events cease being delivered and the animation freezes.
The issue occurs with both QRhi and 'native' Metal.
See qtbase/tests/manual/rhi/multiwindow for a base example.