[PATCH 7/7] fullscreen-shell: Keep fullscreen surface after all outputs are gone
Pekka Paalanen
ppaalanen at gmail.com
Wed Aug 10 14:11:49 UTC 2016
On Fri, 29 Jul 2016 13:26:28 +0200
Armin Krezović <krezovic.armin at gmail.com> wrote:
> Currently, when all outputs are gone (all views are gone), a surface
> is unmapped and destroyed, even though the client is still running.
>
> This utilizes the previously added code to remap the surface when a
> new output gets attached.
>
> Signed-off-by: Armin Krezović <krezovic.armin at gmail.com>
> ---
> fullscreen-shell/fullscreen-shell.c | 12 +++++++++++-
> 1 file changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/fullscreen-shell/fullscreen-shell.c b/fullscreen-shell/fullscreen-shell.c
> index 71d609c..42b1662 100644
> --- a/fullscreen-shell/fullscreen-shell.c
> +++ b/fullscreen-shell/fullscreen-shell.c
> @@ -262,11 +262,21 @@ fs_output_clear_pending(struct fs_output *fsout);
> static void
> fs_output_destroy(struct fs_output *fsout)
> {
> - fs_output_set_surface(fsout, NULL, 0, 0, 0);
> fs_output_clear_pending(fsout);
>
> wl_list_remove(&fsout->link);
>
> + if (fsout->view) {
> + weston_view_destroy(fsout->view);
> + fsout->view = NULL;
> + }
> +
> + if (fsout->surface && wl_list_empty(&fsout->shell->output_list)) {
> + add_unmapped_surface(fsout->shell, fsout->surface,
> + fsout->method);
> + fsout->surface = NULL;
> + }
> +
> if (fsout->output)
> wl_list_remove(&fsout->output_destroyed.link);
> }
Hi Armin,
if you implement the things I talked about in patch 6's review, this
patch will not be necessary at all. The surface presented for the NULL
output will just stay in the list, so there is not need to put it
back.
Thanks,
pq
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 811 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/wayland-devel/attachments/20160810/7b1a2ba8/attachment.sig>
More information about the wayland-devel
mailing list