diff --git a/src/compositor.h b/src/compositor.h index 141063104..9f8f57d0f 100644 --- a/src/compositor.h +++ b/src/compositor.h @@ -153,11 +153,6 @@ struct weston_spring { struct weston_shell { void (*lock)(struct weston_shell *shell); void (*unlock)(struct weston_shell *shell); - void (*map)(struct weston_shell *shell, struct weston_surface *surface, - int32_t width, int32_t height, int32_t sx, int32_t sy); - void (*configure)(struct weston_shell *shell, - struct weston_surface *surface, - GLfloat x, GLfloat y, int32_t width, int32_t height); void (*destroy)(struct weston_shell *shell); }; diff --git a/src/shell.c b/src/shell.c index dc33b065b..9cc53d87f 100644 --- a/src/shell.c +++ b/src/shell.c @@ -2101,8 +2101,6 @@ shell_init(struct weston_compositor *ec) shell->compositor = ec; shell->shell.lock = lock; shell->shell.unlock = unlock; - shell->shell.map = map; - shell->shell.configure = configure; shell->shell.destroy = shell_destroy; wl_list_init(&shell->backgrounds); diff --git a/src/tablet-shell.c b/src/tablet-shell.c index cb7211cae..51b166343 100644 --- a/src/tablet-shell.c +++ b/src/tablet-shell.c @@ -106,11 +106,19 @@ tablet_shell_set_state(struct tablet_shell *shell, int state) } static void -tablet_shell_map(struct weston_shell *base, struct weston_surface *surface, - int32_t width, int32_t height, int32_t sx, int32_t sy) +tablet_shell_surface_configure(struct weston_surface *surface, + int32_t sx, int32_t sy) { struct tablet_shell *shell = - container_of(base, struct tablet_shell, shell); + container_of(surface->compositor->shell, + struct tablet_shell, shell); + int32_t width, height; + + if (weston_surface_is_mapped(surface)) + return; + + width = surface->buffer->width; + height = surface->buffer->height; weston_surface_configure(surface, 0, 0, width, height); @@ -141,26 +149,6 @@ tablet_shell_map(struct weston_shell *base, struct weston_surface *surface, weston_surface_assign_output(surface); } -static void -tablet_shell_configure(struct weston_shell *base, - struct weston_surface *surface, - GLfloat x, GLfloat y, - int32_t width, int32_t height) -{ - weston_surface_configure(surface, x, y, width, height); -} - -static void -tablet_shell_surface_configure(struct weston_surface *es, int32_t sx, - int32_t sy) -{ - struct weston_shell *shell = es->compositor->shell; - - if (!weston_surface_is_mapped(es)) - tablet_shell_map(shell, es, es->buffer->width, - es->buffer->height, sx, sy); -} - static void handle_lockscreen_surface_destroy(struct wl_listener *listener, struct wl_resource *resource, uint32_t time) @@ -576,8 +564,6 @@ shell_init(struct weston_compositor *compositor) shell->shell.lock = tablet_shell_lock; shell->shell.unlock = tablet_shell_unlock; - shell->shell.map = tablet_shell_map; - shell->shell.configure = tablet_shell_configure; shell->shell.destroy = tablet_shell_destroy; weston_layer_init(&shell->homescreen_layer,