-
Notifications
You must be signed in to change notification settings - Fork 125
Open
Open
Copy link
Description
While working on #4664, I encountered a bug which can be reproduced with the following steps:
- Run a layer shell surface in the "above" layer (waybar, ironbar, gbar)
- Run a normal application
- Fullscreen the normal application
- Wait for some time
- As the layer shell surface submits a new buffer, it will be shown in the middle of the screen vertically.
I've tried implementing this as a WLCS test in canonical/wlcs#405, but it does not fit in WLCS as different compositors will likely? treat this differently (if not, I'll happily reopen the PR).
I could not find a part of our testing infrastructure that allows for testing this. For example, window management tests do not exercise the path that triggers this bug:
mir/src/server/frontend_wayland/window_wl_surface_role.cpp
Lines 351 to 360 in bd22724
| bool const is_mapped = scene_surface->visible(); | |
| bool const should_be_mapped = static_cast<bool>(surface.value().buffer_size()); | |
| if (!is_mapped && should_be_mapped && scene_surface->state() == mir_window_state_hidden) | |
| { | |
| spec().state = mir_window_state_restored; | |
| } | |
| else if (is_mapped && !should_be_mapped) | |
| { | |
| spec().state = mir_window_state_hidden; | |
| } |
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels