mirror of
https://gitlab.freedesktop.org/wayland/weston.git
synced 2026-05-08 10:08:00 +02:00
shell: Fix artifacts caused by workspace change animation
Views that extend past the bottom of the output are still visible after the workspace animation ends but before its layer is hidden. When the layer was hidden, nothing would cause those regions to be repainted, leading to artifacts. https://bugs.freedesktop.org/show_bug.cgi?id=78363
This commit is contained in:
parent
762b231e0b
commit
9c6217e6dc
1 changed files with 9 additions and 0 deletions
|
|
@ -1027,8 +1027,17 @@ finish_workspace_change_animation(struct desktop_shell *shell,
|
|||
struct workspace *from,
|
||||
struct workspace *to)
|
||||
{
|
||||
struct weston_view *view;
|
||||
|
||||
weston_compositor_schedule_repaint(shell->compositor);
|
||||
|
||||
/* Views that extend past the bottom of the output are still
|
||||
* visible after the workspace animation ends but before its layer
|
||||
* is hidden. In that case, we need to damage below those views so
|
||||
* that the screen is properly repainted. */
|
||||
wl_list_for_each(view, &from->layer.view_list, layer_link)
|
||||
weston_view_damage_below(view);
|
||||
|
||||
wl_list_remove(&shell->workspaces.animation.link);
|
||||
workspace_deactivate_transforms(from);
|
||||
workspace_deactivate_transforms(to);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue