compositor: Remove the edges parameter from send_configure
send_configure was originally modelled after
wl_shell_surface::send_configure, which takes these arguments. However,
the X WM and xdg_surface::configure variants don't use these arguments.
We already store the resize edges for a surface while it's being
resized, so just use the saved state in the wl_shell_surface variant.
diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c
index bbc61cf..0092235 100644
--- a/desktop-shell/shell.c
+++ b/desktop-shell/shell.c
@@ -1651,13 +1651,11 @@
height += wl_fixed_to_int(to_y - from_y);
}
- shsurf->client->send_configure(shsurf->surface,
- resize->edges, width, height);
+ shsurf->client->send_configure(shsurf->surface, width, height);
}
static void
-send_configure(struct weston_surface *surface,
- uint32_t edges, int32_t width, int32_t height)
+send_configure(struct weston_surface *surface, int32_t width, int32_t height)
{
struct shell_surface *shsurf = get_shell_surface(surface);
@@ -1665,7 +1663,8 @@
if (shsurf->resource)
wl_shell_surface_send_configure(shsurf->resource,
- edges, width, height);
+ shsurf->resize_edges,
+ width, height);
}
static const struct weston_shell_client shell_client = {
@@ -2329,7 +2328,7 @@
shsurf->type = SHELL_SURFACE_TOPLEVEL;
- shsurf->client->send_configure(shsurf->surface, 0,
+ shsurf->client->send_configure(shsurf->surface,
shsurf->output->width,
shsurf->output->height);
@@ -2443,15 +2442,14 @@
struct weston_output *output)
{
struct desktop_shell *shell;
- uint32_t edges = 0, panel_height = 0;
+ uint32_t panel_height = 0;
shell_surface_set_output(shsurf, output);
shell = shell_surface_get_shell(shsurf);
panel_height = get_output_panel_height(shell, shsurf->output);
- edges = WL_SHELL_SURFACE_RESIZE_TOP | WL_SHELL_SURFACE_RESIZE_LEFT;
- shsurf->client->send_configure(shsurf->surface, edges,
+ shsurf->client->send_configure(shsurf->surface,
shsurf->output->width,
shsurf->output->height - panel_height);
@@ -3509,7 +3507,7 @@
static void
xdg_send_configure(struct weston_surface *surface,
- uint32_t edges, int32_t width, int32_t height)
+ int32_t width, int32_t height)
{
struct shell_surface *shsurf = get_shell_surface(surface);
@@ -3608,7 +3606,7 @@
static void
xdg_popup_send_configure(struct weston_surface *surface,
- uint32_t edges, int32_t width, int32_t height)
+ int32_t width, int32_t height)
{
}
diff --git a/src/compositor.h b/src/compositor.h
index 1997e54..057f8be 100644
--- a/src/compositor.h
+++ b/src/compositor.h
@@ -82,8 +82,7 @@
};
struct weston_shell_client {
- void (*send_configure)(struct weston_surface *surface,
- uint32_t edges, int32_t width, int32_t height);
+ void (*send_configure)(struct weston_surface *surface, int32_t width, int32_t height);
};
struct weston_shell_interface {
diff --git a/xwayland/window-manager.c b/xwayland/window-manager.c
index a7afd84..2fb65b1 100644
--- a/xwayland/window-manager.c
+++ b/xwayland/window-manager.c
@@ -2175,8 +2175,7 @@
}
static void
-send_configure(struct weston_surface *surface,
- uint32_t edges, int32_t width, int32_t height)
+send_configure(struct weston_surface *surface, int32_t width, int32_t height)
{
struct weston_wm_window *window = get_wm_window(surface);
struct weston_wm *wm = window->wm;