diff options
author | Simon Ser <contact@emersion.fr> | 2021-08-11 10:00:07 +0200 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2021-08-12 10:22:19 +0200 |
commit | 93964012e66116e66a2efb2ef4d395f1141b9f13 (patch) | |
tree | faf3e72eb50da4f7015d72152539344b9748036d | |
parent | 20404ed8bb3ccad39e8c1458d9b1468741c0bc72 (diff) |
buffer: add addon set
This allows wlr_buffer users to extend it with tjeir own state.
-rw-r--r-- | include/wlr/types/wlr_buffer.h | 3 | ||||
-rw-r--r-- | types/wlr_buffer.c | 2 |
2 files changed, 5 insertions, 0 deletions
diff --git a/include/wlr/types/wlr_buffer.h b/include/wlr/types/wlr_buffer.h index 5dc8271d..b4be3226 100644 --- a/include/wlr/types/wlr_buffer.h +++ b/include/wlr/types/wlr_buffer.h @@ -12,6 +12,7 @@ #include <pixman.h> #include <wayland-server-core.h> #include <wlr/render/dmabuf.h> +#include <wlr/util/addon.h> struct wlr_buffer; struct wlr_renderer; @@ -67,6 +68,8 @@ struct wlr_buffer { struct wl_signal destroy; struct wl_signal release; } events; + + struct wlr_addon_set addons; }; struct wlr_buffer_resource_interface { diff --git a/types/wlr_buffer.c b/types/wlr_buffer.c index 94b42d4a..21c274c0 100644 --- a/types/wlr_buffer.c +++ b/types/wlr_buffer.c @@ -21,6 +21,7 @@ void wlr_buffer_init(struct wlr_buffer *buffer, buffer->height = height; wl_signal_init(&buffer->events.destroy); wl_signal_init(&buffer->events.release); + wlr_addon_set_init(&buffer->addons); } static void buffer_consider_destroy(struct wlr_buffer *buffer) { @@ -31,6 +32,7 @@ static void buffer_consider_destroy(struct wlr_buffer *buffer) { assert(!buffer->accessing_data_ptr); wlr_signal_emit_safe(&buffer->events.destroy, NULL); + wlr_addon_set_finish(&buffer->addons); buffer->impl->destroy(buffer); } |