[PATCH] shell: Fix never map fullscreen/transient surface.
Kristian Hoegsberg
hoegsberg at gmail.com
Wed Feb 22 09:35:01 PST 2012
On Wed, Feb 22, 2012 at 02:50:46PM +0800, zhiwen.wu at linux.intel.com wrote:
> From: Alex Wu <zhiwen.wu at linx.intel.com>
>
> If client send set_fullscreen/set_transient request before the first attach,
> compositor has no chance to map the surface due to "if (es->output == NULL)".
Ah yes, thanks. Committed and pushed.
Kristian
>
> You can pull it from git://gitorious.org/wayland-for-krh/weston.git map-bug
> ---
> src/shell.c | 8 ++++----
> 1 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/src/shell.c b/src/shell.c
> index fa165e2..3d5dfd9 100644
> --- a/src/shell.c
> +++ b/src/shell.c
> @@ -414,7 +414,7 @@ shell_surface_set_transient(struct wl_client *client,
> return;
>
> /* assign to parents output */
> - es->output = pes->output;
> + shsurf->output = pes->output;
> weston_surface_set_position(es, pes->geometry.x + x,
> pes->geometry.y + y);
>
> @@ -500,18 +500,18 @@ shell_surface_set_fullscreen(struct wl_client *client,
> /* FIXME: Fullscreen on first output */
> /* FIXME: Handle output going away */
> output = get_default_output(es->compositor);
> - es->output = output;
>
> shsurf->saved_x = es->geometry.x;
> shsurf->saved_y = es->geometry.y;
> + shsurf->output = output;
> shsurf->fullscreen_output = output;
> shsurf->type = SHELL_SURFACE_FULLSCREEN;
>
> wl_resource_post_event(resource,
> WL_SHELL_SURFACE_CONFIGURE,
> weston_compositor_get_time(), 0,
> - es->output->current->width,
> - es->output->current->height);
> + shsurf->output->current->width,
> + shsurf->output->current->height);
> }
>
> static void
> --
> 1.7.5.4
>
More information about the wayland-devel
mailing list