From 4ccc774dbbcdcad47307c416a9120d6605e5499d Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Wed, 6 Mar 2024 17:59:44 +0100 Subject: [PATCH] render/texture: add destroy event --- include/wlr/render/wlr_texture.h | 4 ++++ render/wlr_texture.c | 3 +++ 2 files changed, 7 insertions(+) diff --git a/include/wlr/render/wlr_texture.h b/include/wlr/render/wlr_texture.h index 1e352c6e6..2f3e6948b 100644 --- a/include/wlr/render/wlr_texture.h +++ b/include/wlr/render/wlr_texture.h @@ -24,6 +24,10 @@ struct wlr_texture { uint32_t width, height; struct wlr_renderer *renderer; + + struct { + struct wl_signal destroy; + } events; }; struct wlr_texture_read_pixels_options { diff --git a/render/wlr_texture.c b/render/wlr_texture.c index 3526ee140..2dfe56de3 100644 --- a/render/wlr_texture.c +++ b/render/wlr_texture.c @@ -18,9 +18,12 @@ void wlr_texture_init(struct wlr_texture *texture, struct wlr_renderer *renderer .width = width, .height = height, }; + + wl_signal_init(&texture->events.destroy); } void wlr_texture_destroy(struct wlr_texture *texture) { + wl_signal_emit_mutable(&texture->events.destroy, NULL); if (texture && texture->impl && texture->impl->destroy) { texture->impl->destroy(texture); } else {