aboutsummaryrefslogtreecommitdiff
path: root/rootston/xdg_shell_v6.c
diff options
context:
space:
mode:
authorTony Crisci <tony@dubstepdish.com>2018-03-24 15:10:15 -0400
committerTony Crisci <tony@dubstepdish.com>2018-03-24 15:11:26 -0400
commitf53575e3a364ada15e2de213bf664d3947f7d347 (patch)
tree0241ed7f5e472c9cb8bdce1b89bc2ffe6c62fcc3 /rootston/xdg_shell_v6.c
parent7cc042f54c04141512934958fe8547b34ee38357 (diff)
unified xdg-surface close
Diffstat (limited to 'rootston/xdg_shell_v6.c')
-rw-r--r--rootston/xdg_shell_v6.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/rootston/xdg_shell_v6.c b/rootston/xdg_shell_v6.c
index 13d25331..001232ab 100644
--- a/rootston/xdg_shell_v6.c
+++ b/rootston/xdg_shell_v6.c
@@ -177,9 +177,11 @@ static void set_fullscreen(struct roots_view *view, bool fullscreen) {
static void close(struct roots_view *view) {
assert(view->type == ROOTS_XDG_SHELL_V6_VIEW);
struct wlr_xdg_surface_v6 *surface = view->xdg_surface_v6;
- if (surface->role == WLR_XDG_SURFACE_V6_ROLE_TOPLEVEL) {
- wlr_xdg_toplevel_v6_send_close(surface);
+ struct wlr_xdg_popup_v6 *popup = NULL;
+ wl_list_for_each(popup, &surface->popups, link) {
+ wlr_xdg_surface_v6_send_close(popup->base);
}
+ wlr_xdg_surface_v6_send_close(surface);
}
static void destroy(struct roots_view *view) {