summaryrefslogtreecommitdiff
path: root/src/window.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/window.cc')
-rw-r--r--src/window.cc11
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 = {