weston/desktop-shell
Sergio Gómez e93da8fe3d desktop-shell: Check that fullscreen surface actually has a black view
When the position or size of a fullscreen surface changes (e.g., due to change
in the output), the surface commit logic in desktop_surface_committed() resets
the fullscreen by first calling unset_fullscreen() and later on calling
shell_configure_fullscreen(). One part of this reset is the recreation of the
black view curtain (destroyed in unset_fullscreen() and created again in
shell_configure_fullscreen()).

In the upcoming commit we will replace the call to shell_configure_fullscreen()
with a call to activate() (since we want to activate this shell surface, and
activate() already has a call to shell_configure_fullscreen() in it).

The code in activate() by default lowers the fullscreen layer of the shell
surface through lower_fullscreen_layer(), which is called before
shell_configure_fullscreen(). This lowering function assumes that the fullscreen
shell surface has a valid black view curtain, which as said before was removed
in the call to unset_fullscreen(). Add the check to guard against this case.

Signed-off-by: Sergio Gómez <sergio.g.delreal@gmail.com>
2023-05-25 12:07:03 +03:00
..
input-panel.c libweston: Use weston_coord in surface committed handler 2023-02-24 18:44:19 +00:00
meson.build shell-utils: Integrate shell-utils into libweston 2023-01-09 22:13:07 +00:00
shell.c desktop-shell: Check that fullscreen surface actually has a black view 2023-05-25 12:07:03 +03:00
shell.h desktop-shell: Remove multiple workspace support 2022-06-24 10:47:42 +03:00