From f2b225ad0b6c0d118fa98b9c9691ab7729e37326 Mon Sep 17 00:00:00 2001 From: Drew DeVault Date: Sat, 25 Nov 2017 15:27:41 -0500 Subject: Add xdg_shell ack_configure event --- include/wlr/types/wlr_xdg_shell_v6.h | 1 + types/wlr_xdg_shell_v6.c | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/include/wlr/types/wlr_xdg_shell_v6.h b/include/wlr/types/wlr_xdg_shell_v6.h index 6ac84cef..1d881791 100644 --- a/include/wlr/types/wlr_xdg_shell_v6.h +++ b/include/wlr/types/wlr_xdg_shell_v6.h @@ -126,6 +126,7 @@ struct wlr_xdg_surface_v6 { struct wl_signal commit; struct wl_signal destroy; struct wl_signal ping_timeout; + struct wl_signal ack_configure; struct wl_signal request_maximize; struct wl_signal request_fullscreen; diff --git a/types/wlr_xdg_shell_v6.c b/types/wlr_xdg_shell_v6.c index 8bb48a24..20cb0bc6 100644 --- a/types/wlr_xdg_shell_v6.c +++ b/types/wlr_xdg_shell_v6.c @@ -813,8 +813,9 @@ static void xdg_surface_ack_configure(struct wl_client *client, surface->configured = true; surface->configure_serial = serial; - free(configure); + + wl_signal_emit(&surface->events.ack_configure, surface); } static void xdg_surface_set_window_geometry(struct wl_client *client, @@ -1154,6 +1155,7 @@ static void xdg_shell_get_xdg_surface(struct wl_client *wl_client, wl_signal_init(&surface->events.commit); wl_signal_init(&surface->events.destroy); wl_signal_init(&surface->events.ping_timeout); + wl_signal_init(&surface->events.ack_configure); wl_signal_add(&surface->surface->events.destroy, &surface->surface_destroy_listener); -- cgit v1.2.3