diff options
Diffstat (limited to 'src/window.cc')
| -rw-r--r-- | src/window.cc | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/window.cc b/src/window.cc index 301aeea..99b168e 100644 --- a/src/window.cc +++ b/src/window.cc @@ -1,6 +1,7 @@ #include "window.h" #include "events.h" #include "utils.h" +#include "vec.h" #include "wlstate.h" #include "xdg-shell.h" #include <cstring> @@ -23,8 +24,16 @@ static void wayc_toplevel_configure(void *data, } static void wayc_toplevel_close(void *data, struct xdg_toplevel *xdg_toplevel) { - (void)data; (void)xdg_toplevel; + + struct window_s *window = (struct window_s *)data; + wayc_notnull(window); + + struct eventloop_s *loop = window->loop; + wayc_notnull(loop); + + struct event_s event = WAYC_EVENT_CLOSE(window); + wayc_vec_push(&loop->events, &event); } static struct xdg_surface_listener WAYC_SURFACE_LISTENER = { |
