compositor: move force_configure field to shell_surface
authorAnder Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Tue, 27 Mar 2012 14:36:42 +0000 (17:36 +0300)
committerKristian Høgsberg <krh@bitplanet.net>
Tue, 27 Mar 2012 20:36:54 +0000 (16:36 -0400)
src/compositor.c
src/compositor.h
src/shell.c

index b02d788..c738be0 100644 (file)
@@ -222,7 +222,6 @@ weston_surface_create(struct weston_compositor *compositor)
 
        surface->buffer = NULL;
        surface->output = NULL;
-       surface->force_configure = 0;
 
        pixman_region32_init(&surface->damage);
        pixman_region32_init(&surface->opaque);
index 65aa48f..1410631 100644 (file)
@@ -341,7 +341,6 @@ struct weston_surface {
         * are the sx and sy paramerters supplied to surface::attach .
         */
        void (*configure)(struct weston_surface *es, int32_t sx, int32_t sy);
-       int force_configure;
 };
 
 void
index 5c4a5cd..5c94cf9 100644 (file)
@@ -126,6 +126,8 @@ struct shell_surface {
        struct weston_output *fullscreen_output;
        struct weston_output *output;
        struct wl_list link;
+
+       int force_configure;
 };
 
 struct weston_move_grab {
@@ -379,7 +381,7 @@ shell_unset_fullscreen(struct shell_surface *shsurf)
        weston_surface_destroy(shsurf->fullscreen.black_surface);
        shsurf->fullscreen.black_surface = NULL;
        shsurf->fullscreen_output = NULL;
-       shsurf->surface->force_configure = 1;
+       shsurf->force_configure = 1;
        weston_surface_set_position(shsurf->surface,
                                    shsurf->saved_x, shsurf->saved_y);
 }
@@ -634,7 +636,7 @@ shell_surface_set_fullscreen(struct wl_client *client,
        shsurf->saved_position_valid = true;
 
        if (weston_surface_is_mapped(es))
-               shsurf->surface->force_configure = 1;
+               shsurf->force_configure = 1;
 
        wl_shell_surface_send_configure(&shsurf->resource,
                                        weston_compositor_get_time(), 0,
@@ -1723,10 +1725,11 @@ static void
 shell_surface_configure(struct weston_surface *es, int32_t sx, int32_t sy)
 {
        struct weston_shell *shell = es->compositor->shell;
+       struct shell_surface *shsurf = get_shell_surface(es);
 
        if (!weston_surface_is_mapped(es)) {
                map(shell, es, es->buffer->width, es->buffer->height, sx, sy);
-       } else if (es->force_configure || sx != 0 || sy != 0 ||
+       } else if (shsurf->force_configure || sx != 0 || sy != 0 ||
                   es->geometry.width != es->buffer->width ||
                   es->geometry.height != es->buffer->height) {
                GLfloat from_x, from_y;
@@ -1738,7 +1741,7 @@ shell_surface_configure(struct weston_surface *es, int32_t sx, int32_t sy)
                          es->geometry.x + to_x - from_x,
                          es->geometry.y + to_y - from_y,
                          es->buffer->width, es->buffer->height);
-               es->force_configure = 0;
+               shsurf->force_configure = 0;
        }
 }