shell: Center fullscreen surface whenever new buffer is attached
authorKristian Høgsberg <krh@bitplanet.net>
Fri, 20 Jul 2012 19:30:36 +0000 (15:30 -0400)
committerKristian Høgsberg <krh@bitplanet.net>
Fri, 20 Jul 2012 19:31:00 +0000 (15:31 -0400)
src/shell.c

index 344c690..57e6ab9 100644 (file)
@@ -1264,7 +1264,6 @@ set_surface_type(struct shell_surface *shsurf)
                shsurf->saved_x = surface->geometry.x;
                shsurf->saved_y = surface->geometry.y;
                shsurf->saved_position_valid = true;
-               center_on_output(surface, shsurf->fullscreen_output);
 
                if (!wl_list_empty(&shsurf->rotation.transform.link)) {
                        wl_list_remove(&shsurf->rotation.transform.link);
@@ -1422,6 +1421,8 @@ shell_configure_fullscreen(struct shell_surface *shsurf)
 
        switch (shsurf->fullscreen.type) {
        case WL_SHELL_SURFACE_FULLSCREEN_METHOD_DEFAULT:
+               if (surface->buffer)
+                       center_on_output(surface, shsurf->fullscreen_output);
                break;
        case WL_SHELL_SURFACE_FULLSCREEN_METHOD_SCALE:
                matrix = &shsurf->fullscreen.transform.matrix;