aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorConnor E <38229097+c-edw@users.noreply.github.com>2019-01-13 14:22:49 +0000
committerConnor E <38229097+c-edw@users.noreply.github.com>2019-01-13 14:22:49 +0000
commite7fff4f5607878a016c1514a3c75ec1e2d7c41ce (patch)
tree70400d393db4b1af6c4df06db8ab6c7594053994
parent8134d5b1e0b8c65f7c8b2e7ae626c1f2e5cbc9e1 (diff)
Remove wlr_xdg_surface_send_close.
-rw-r--r--include/wlr/types/wlr_xdg_shell.h9
-rw-r--r--rootston/xdg_shell.c4
-rw-r--r--types/xdg_shell/wlr_xdg_surface.c26
3 files changed, 20 insertions, 19 deletions
diff --git a/include/wlr/types/wlr_xdg_shell.h b/include/wlr/types/wlr_xdg_shell.h
index 1bca9ef3..14100fda 100644
--- a/include/wlr/types/wlr_xdg_shell.h
+++ b/include/wlr/types/wlr_xdg_shell.h
@@ -296,9 +296,14 @@ uint32_t wlr_xdg_toplevel_set_tiled(struct wlr_xdg_surface *surface,
uint32_t tiled_edges);
/**
- * Request that this xdg surface closes.
+ * Request that this xdg toplevel closes.
*/
-void wlr_xdg_surface_send_close(struct wlr_xdg_surface *surface);
+void wlr_xdg_toplevel_send_close(struct wlr_xdg_surface *surface);
+
+/**
+ * Request that this xdg popup closes.
+ **/
+void wlr_xdg_popup_destroy(struct wlr_xdg_surface *surface);
/**
* Get the geometry for this positioner based on the anchor rect, gravity, and
diff --git a/rootston/xdg_shell.c b/rootston/xdg_shell.c
index da8909ba..918f90ab 100644
--- a/rootston/xdg_shell.c
+++ b/rootston/xdg_shell.c
@@ -248,9 +248,9 @@ static void close(struct roots_view *view) {
struct wlr_xdg_surface *surface = view->xdg_surface;
struct wlr_xdg_popup *popup = NULL;
wl_list_for_each(popup, &surface->popups, link) {
- wlr_xdg_surface_send_close(popup->base);
+ wlr_xdg_popup_destroy(popup->base);
}
- wlr_xdg_surface_send_close(surface);
+ wlr_xdg_toplevel_send_close(surface);
}
static void destroy(struct roots_view *view) {
diff --git a/types/xdg_shell/wlr_xdg_surface.c b/types/xdg_shell/wlr_xdg_surface.c
index 17edbe47..5e353ba7 100644
--- a/types/xdg_shell/wlr_xdg_surface.c
+++ b/types/xdg_shell/wlr_xdg_surface.c
@@ -517,21 +517,17 @@ void wlr_xdg_surface_ping(struct wlr_xdg_surface *surface) {
surface->client->ping_serial);
}
-void wlr_xdg_surface_send_close(struct wlr_xdg_surface *surface) {
- switch (surface->role) {
- case WLR_XDG_SURFACE_ROLE_NONE:
- assert(0 && "not reached");
- break;
- case WLR_XDG_SURFACE_ROLE_TOPLEVEL:
- if (surface->toplevel) {
- xdg_toplevel_send_close(surface->toplevel->resource);
- }
- break;
- case WLR_XDG_SURFACE_ROLE_POPUP:
- if (surface->popup) {
- xdg_popup_send_popup_done(surface->popup->resource);
- }
- break;
+void wlr_xdg_toplevel_send_close(struct wlr_xdg_surface *surface) {
+ if (surface->role == WLR_XDG_SURFACE_ROLE_TOPLEVEL
+ && surface->toplevel) {
+ xdg_toplevel_send_close(surface->toplevel->resource);
+ }
+}
+
+void wlr_xdg_popup_destroy(struct wlr_xdg_surface *surface) {
+ if (surface->role == WLR_XDG_SURFACE_ROLE_POPUP
+ && surface->popup) {
+ xdg_popup_send_popup_done(surface->popup->resource);
}
}