From 88277d1422b75a67b40c8809949fb71bd5ca31c0 Mon Sep 17 00:00:00 2001 From: Alex Wu Date: Wed, 22 Feb 2012 14:50:46 +0800 Subject: [PATCH] shell: Fix never map fullscreen/transient surface. 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)". You can pull it from git://gitorious.org/wayland-for-krh/weston.git map-bug --- src/shell.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/shell.c b/src/shell.c index fa165e2c..3d5dfd90 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