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
This commit is contained in:
committed by
Kristian Høgsberg
parent
31f9d0e8de
commit
88277d1422
+4
-4
@@ -414,7 +414,7 @@ shell_surface_set_transient(struct wl_client *client,
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
/* assign to parents output */
|
/* assign to parents output */
|
||||||
es->output = pes->output;
|
shsurf->output = pes->output;
|
||||||
weston_surface_set_position(es, pes->geometry.x + x,
|
weston_surface_set_position(es, pes->geometry.x + x,
|
||||||
pes->geometry.y + y);
|
pes->geometry.y + y);
|
||||||
|
|
||||||
@@ -500,18 +500,18 @@ shell_surface_set_fullscreen(struct wl_client *client,
|
|||||||
/* FIXME: Fullscreen on first output */
|
/* FIXME: Fullscreen on first output */
|
||||||
/* FIXME: Handle output going away */
|
/* FIXME: Handle output going away */
|
||||||
output = get_default_output(es->compositor);
|
output = get_default_output(es->compositor);
|
||||||
es->output = output;
|
|
||||||
|
|
||||||
shsurf->saved_x = es->geometry.x;
|
shsurf->saved_x = es->geometry.x;
|
||||||
shsurf->saved_y = es->geometry.y;
|
shsurf->saved_y = es->geometry.y;
|
||||||
|
shsurf->output = output;
|
||||||
shsurf->fullscreen_output = output;
|
shsurf->fullscreen_output = output;
|
||||||
shsurf->type = SHELL_SURFACE_FULLSCREEN;
|
shsurf->type = SHELL_SURFACE_FULLSCREEN;
|
||||||
|
|
||||||
wl_resource_post_event(resource,
|
wl_resource_post_event(resource,
|
||||||
WL_SHELL_SURFACE_CONFIGURE,
|
WL_SHELL_SURFACE_CONFIGURE,
|
||||||
weston_compositor_get_time(), 0,
|
weston_compositor_get_time(), 0,
|
||||||
es->output->current->width,
|
shsurf->output->current->width,
|
||||||
es->output->current->height);
|
shsurf->output->current->height);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|||||||
Reference in New Issue
Block a user