desktop-shell: Make set_toplevel() clear surface states

This is used from wl_shell and xwayland and we need to make sure
xwayland also gets this behavior.
dev
Kristian Høgsberg 11 years ago
parent e960b3f012
commit 41fbf6f7fd
  1. 5
      desktop-shell/shell.c

@ -2121,6 +2121,8 @@ surface_clear_next_states(struct shell_surface *shsurf)
static void static void
set_toplevel(struct shell_surface *shsurf) set_toplevel(struct shell_surface *shsurf)
{ {
shell_surface_set_parent(shsurf, NULL);
surface_clear_next_states(shsurf);
shsurf->next_type = SHELL_SURFACE_TOPLEVEL; shsurf->next_type = SHELL_SURFACE_TOPLEVEL;
/* The layer_link is updated in set_surface_type(), /* The layer_link is updated in set_surface_type(),
@ -2133,9 +2135,6 @@ shell_surface_set_toplevel(struct wl_client *client,
{ {
struct shell_surface *surface = wl_resource_get_user_data(resource); struct shell_surface *surface = wl_resource_get_user_data(resource);
shell_surface_set_parent(surface, NULL);
surface_clear_next_states(surface);
set_toplevel(surface); set_toplevel(surface);
} }

Loading…
Cancel
Save