From: Rafael Antognolli Date: Thu, 5 Dec 2013 20:53:17 +0000 (-0200) Subject: shell: Set a surface as TOPLEVEL instead of the old surface types. X-Git-Tag: upstream/0.1.8~613 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=db59f9a53f7ae9d3a5be0c2c0962d360ad36af5e;p=profile%2Fivi%2Fweston-ivi-shell.git shell: Set a surface as TOPLEVEL instead of the old surface types. Since internally there's no more SHELL_SURFACE_FULLSCREEN and SHELL_SURFACE_MAXIMIZED, the surface must be set to SHELL_SURFACE_TOPLEVEL on the respective functions. This fixes the bug when clients start already in fullscreen mode. In that case, they aren't set first to toplevel, and then change to fullscreen. They are set as fullscreen directly, not receiving the SHELL_SURFACE_TOPLEVEL type on the set_fullscreen function. --- diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c index 7c202ea..f87da92 100644 --- a/desktop-shell/shell.c +++ b/desktop-shell/shell.c @@ -2150,6 +2150,7 @@ set_transient(struct shell_surface *shsurf, shsurf->transient.flags = flags; shsurf->next_state.relative = true; + shsurf->next_type = SHELL_SURFACE_TOPLEVEL; /* The layer_link is updated in set_surface_type(), * called from configure. */ @@ -2183,7 +2184,7 @@ set_fullscreen(struct shell_surface *shsurf, shsurf->fullscreen.type = method; shsurf->fullscreen.framerate = framerate; - shsurf->next_type = shsurf->type; + shsurf->next_type = SHELL_SURFACE_TOPLEVEL; shsurf->client->send_configure(shsurf->surface, 0, shsurf->output->width, @@ -2303,7 +2304,7 @@ set_maximized(struct shell_surface *shsurf, shsurf->output->width, shsurf->output->height - panel_height); - shsurf->next_type = shsurf->type; + shsurf->next_type = SHELL_SURFACE_TOPLEVEL; } static void