aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/backend/drm/drm.h1
-rw-r--r--include/backend/libinput.h1
-rw-r--r--include/backend/wayland.h1
-rw-r--r--include/backend/x11.h2
-rw-r--r--include/wlr/backend/session.h2
-rw-r--r--include/wlr/render/egl.h3
-rw-r--r--include/wlr/types/wlr_compositor.h7
-rw-r--r--include/wlr/types/wlr_data_device.h2
-rw-r--r--include/wlr/types/wlr_gamma_control.h4
-rw-r--r--include/wlr/types/wlr_output.h2
-rw-r--r--include/wlr/types/wlr_screenshooter.h4
-rw-r--r--include/wlr/types/wlr_seat.h1
-rw-r--r--include/wlr/types/wlr_server_decoration.h2
-rw-r--r--include/wlr/types/wlr_wl_shell.h2
-rw-r--r--include/wlr/types/wlr_xdg_shell_v6.h2
-rw-r--r--include/wlr/xwayland.h3
16 files changed, 31 insertions, 8 deletions
diff --git a/include/backend/drm/drm.h b/include/backend/drm/drm.h
index 4fad9678..1f70a103 100644
--- a/include/backend/drm/drm.h
+++ b/include/backend/drm/drm.h
@@ -91,6 +91,7 @@ struct wlr_drm_backend {
struct wl_display *display;
struct wl_event_source *drm_event;
+ struct wl_listener display_destroy;
struct wl_listener session_signal;
struct wl_listener drm_invalidated;
diff --git a/include/backend/libinput.h b/include/backend/libinput.h
index be2557ed..6ec718c6 100644
--- a/include/backend/libinput.h
+++ b/include/backend/libinput.h
@@ -16,6 +16,7 @@ struct wlr_libinput_backend {
struct libinput *libinput_context;
struct wl_event_source *input_event;
+ struct wl_listener display_destroy;
struct wl_listener session_signal;
struct wlr_list wlr_device_lists; // list of struct wl_list
diff --git a/include/backend/wayland.h b/include/backend/wayland.h
index 7e2ec0d6..41cd21c8 100644
--- a/include/backend/wayland.h
+++ b/include/backend/wayland.h
@@ -22,6 +22,7 @@ struct wlr_wl_backend {
struct wl_list outputs;
struct wlr_egl egl;
size_t requested_outputs;
+ struct wl_listener local_display_destroy;
/* remote state */
struct wl_display *remote_display;
struct wl_event_source *remote_display_src;
diff --git a/include/backend/x11.h b/include/backend/x11.h
index f5ec56bc..31a5138b 100644
--- a/include/backend/x11.h
+++ b/include/backend/x11.h
@@ -51,6 +51,8 @@ struct wlr_x11_backend {
// The time we last received an event
xcb_timestamp_t time;
+
+ struct wl_listener display_destroy;
};
#endif
diff --git a/include/wlr/backend/session.h b/include/wlr/backend/session.h
index 5c822ea9..3242a13f 100644
--- a/include/wlr/backend/session.h
+++ b/include/wlr/backend/session.h
@@ -33,6 +33,8 @@ struct wlr_session {
struct wl_event_source *udev_event;
struct wl_list devices;
+
+ struct wl_listener display_destroy;
};
/*
diff --git a/include/wlr/render/egl.h b/include/wlr/render/egl.h
index 9ab4d9ce..67a81f37 100644
--- a/include/wlr/render/egl.h
+++ b/include/wlr/render/egl.h
@@ -4,6 +4,7 @@
#include <EGL/egl.h>
#include <EGL/eglext.h>
#include <stdbool.h>
+#include <wayland-server.h>
struct wlr_egl {
EGLDisplay display;
@@ -27,7 +28,7 @@ bool wlr_egl_init(struct wlr_egl *egl, EGLenum platform, EGLint visual_id, void
* Frees all related egl resources, makes the context not-current and
* unbinds a bound wayland display.
*/
-void wlr_egl_free(struct wlr_egl *egl);
+void wlr_egl_finish(struct wlr_egl *egl);
/**
* Binds the given display to the egl instance.
diff --git a/include/wlr/types/wlr_compositor.h b/include/wlr/types/wlr_compositor.h
index b2f5a972..ceeb64ca 100644
--- a/include/wlr/types/wlr_compositor.h
+++ b/include/wlr/types/wlr_compositor.h
@@ -9,7 +9,8 @@ struct wlr_compositor {
struct wl_list wl_resources;
struct wlr_renderer *renderer;
struct wl_list surfaces;
- struct wl_listener destroy_surface_listener;
+
+ struct wl_listener display_destroy;
struct {
struct wl_signal create_surface;
@@ -20,8 +21,4 @@ void wlr_compositor_destroy(struct wlr_compositor *wlr_compositor);
struct wlr_compositor *wlr_compositor_create(struct wl_display *display,
struct wlr_renderer *renderer);
-struct wlr_surface;
-void wl_compositor_surface_destroyed(struct wlr_compositor *wlr_compositor,
- struct wlr_surface *surface);
-
#endif
diff --git a/include/wlr/types/wlr_data_device.h b/include/wlr/types/wlr_data_device.h
index 12b25e45..70d79a19 100644
--- a/include/wlr/types/wlr_data_device.h
+++ b/include/wlr/types/wlr_data_device.h
@@ -15,6 +15,8 @@ wlr_touch_grab_interface wlr_data_device_touch_drag_interface;
struct wlr_data_device_manager {
struct wl_global *global;
+
+ struct wl_listener display_destroy;
};
struct wlr_data_offer {
diff --git a/include/wlr/types/wlr_gamma_control.h b/include/wlr/types/wlr_gamma_control.h
index 59f18494..d3f4b8e5 100644
--- a/include/wlr/types/wlr_gamma_control.h
+++ b/include/wlr/types/wlr_gamma_control.h
@@ -5,7 +5,9 @@
struct wlr_gamma_control_manager {
struct wl_global *wl_global;
- struct wl_list controls; // list of wlr_gamma_control
+ struct wl_list controls; // wlr_gamma_control::link
+
+ struct wl_listener display_destroy;
void *data;
};
diff --git a/include/wlr/types/wlr_output.h b/include/wlr/types/wlr_output.h
index 99737c48..cbedf240 100644
--- a/include/wlr/types/wlr_output.h
+++ b/include/wlr/types/wlr_output.h
@@ -77,6 +77,8 @@ struct wlr_output {
// the output position in layout space reported to clients
int32_t lx, ly;
+ struct wl_listener display_destroy;
+
void *data;
};
diff --git a/include/wlr/types/wlr_screenshooter.h b/include/wlr/types/wlr_screenshooter.h
index 4bda3d3c..4c66be3f 100644
--- a/include/wlr/types/wlr_screenshooter.h
+++ b/include/wlr/types/wlr_screenshooter.h
@@ -5,6 +5,9 @@
struct wlr_screenshooter {
struct wl_global *wl_global;
struct wlr_renderer *renderer;
+ struct wl_list screenshots; // wlr_screenshot::link
+
+ struct wl_listener display_destroy;
void *data;
};
@@ -12,6 +15,7 @@ struct wlr_screenshooter {
struct wlr_screenshot {
struct wl_resource *resource;
struct wl_resource *output_resource;
+ struct wl_list link;
struct wlr_output *output;
struct wlr_screenshooter *screenshooter;
diff --git a/include/wlr/types/wlr_seat.h b/include/wlr/types/wlr_seat.h
index 6c04380e..00fd8da1 100644
--- a/include/wlr/types/wlr_seat.h
+++ b/include/wlr/types/wlr_seat.h
@@ -184,6 +184,7 @@ struct wlr_seat {
struct wlr_seat_keyboard_state keyboard_state;
struct wlr_seat_touch_state touch_state;
+ struct wl_listener display_destroy;
struct wl_listener selection_data_source_destroy;
struct {
diff --git a/include/wlr/types/wlr_server_decoration.h b/include/wlr/types/wlr_server_decoration.h
index 474a9386..e457a0aa 100644
--- a/include/wlr/types/wlr_server_decoration.h
+++ b/include/wlr/types/wlr_server_decoration.h
@@ -33,6 +33,8 @@ struct wlr_server_decoration_manager {
uint32_t default_mode; // enum wlr_server_decoration_manager_mode
+ struct wl_listener display_destroy;
+
struct {
struct wl_signal new_decoration;
} events;
diff --git a/include/wlr/types/wlr_wl_shell.h b/include/wlr/types/wlr_wl_shell.h
index 986f92e8..29446b04 100644
--- a/include/wlr/types/wlr_wl_shell.h
+++ b/include/wlr/types/wlr_wl_shell.h
@@ -12,6 +12,8 @@ struct wlr_wl_shell {
struct wl_list popup_grabs;
uint32_t ping_timeout;
+ struct wl_listener display_destroy;
+
struct {
struct wl_signal new_surface;
} events;
diff --git a/include/wlr/types/wlr_xdg_shell_v6.h b/include/wlr/types/wlr_xdg_shell_v6.h
index 4eb957be..b723a950 100644
--- a/include/wlr/types/wlr_xdg_shell_v6.h
+++ b/include/wlr/types/wlr_xdg_shell_v6.h
@@ -11,6 +11,8 @@ struct wlr_xdg_shell_v6 {
struct wl_list popup_grabs;
uint32_t ping_timeout;
+ struct wl_listener display_destroy;
+
struct {
struct wl_signal new_surface;
} events;
diff --git a/include/wlr/xwayland.h b/include/wlr/xwayland.h
index 9a89661b..468437bc 100644
--- a/include/wlr/xwayland.h
+++ b/include/wlr/xwayland.h
@@ -23,7 +23,8 @@ struct wlr_xwayland {
time_t server_start;
struct wl_event_source *sigusr1_source;
- struct wl_listener destroy_listener;
+ struct wl_listener client_destroy;
+ struct wl_listener display_destroy;
struct wlr_xwm *xwm;
struct wlr_xwayland_cursor *cursor;