Regression from !1285: mutter on Xorg stops updating after unredirected fullscreen window disappears
Affected version
mutter 3.38 on Xorg
Bug summary
mutter stops drawing (visually freezes, in other words) after an unredirected fullscreen window disappears.
I bisected this, the first bad commit is !1285 (a9a9a0d1).
Steps to reproduce
- Run standalone mutter on Xorg
- Run a fullscreen app which gets unredirected, e.g.
start_triangle_benchmark_fullscreen_1920x1080.sh
from GpuTest. - Wait for the benchmark to finish; the fullscreen window disappears, and a dialogue with the results appears.
What happened
The dialogue appears, but the rest of the desktop is frozen, even after closing the dialogue.
What did you expect to happen
The desktop should continue updating normally.
Relevant logs, screenshots, screencasts etc.
The following Clutter-WARNING
s appear and might be related:
The actor '<unnamed>[<MetaWindowActorX11>:0x...]' is currently inside an allocation cycle; calling clutter_actor_queue_relayout() is not recommended
The actor '<unnamed>[<MetaWindowGroup>:0x...]' is currently inside an allocation cycle; calling clutter_actor_queue_relayout() is not recommended
Can't update stage views actor <unnamed>[<MetaStage>:0x...] is on because it needs an allocation.
Can't update stage views actor <unnamed>[<MetaWindowGroup>:0x...] is on because it needs an allocation.
The first two appear once each, the last two multiple times (each in turn).
/cc @jadahl