diff options
author | Tony Crisci <tony@dubstepdish.com> | 2018-03-24 15:10:15 -0400 |
---|---|---|
committer | Tony Crisci <tony@dubstepdish.com> | 2018-03-24 15:11:26 -0400 |
commit | f53575e3a364ada15e2de213bf664d3947f7d347 (patch) | |
tree | 0241ed7f5e472c9cb8bdce1b89bc2ffe6c62fcc3 /rootston/xdg_shell.c | |
parent | 7cc042f54c04141512934958fe8547b34ee38357 (diff) |
unified xdg-surface close
Diffstat (limited to 'rootston/xdg_shell.c')
-rw-r--r-- | rootston/xdg_shell.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/rootston/xdg_shell.c b/rootston/xdg_shell.c index 851c0045..099e622c 100644 --- a/rootston/xdg_shell.c +++ b/rootston/xdg_shell.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_VIEW); struct wlr_xdg_surface *surface = view->xdg_surface; - if (surface->role == WLR_XDG_SURFACE_ROLE_TOPLEVEL) { - wlr_xdg_toplevel_send_close(surface); + struct wlr_xdg_popup *popup = NULL; + wl_list_for_each(popup, &surface->popups, link) { + wlr_xdg_surface_send_close(popup->base); } + wlr_xdg_surface_send_close(surface); } static void destroy(struct roots_view *view) { |