commit d611113
Michael Forney
·
2014-01-15 12:45:23 +0000 UTC
parent 9242691
buffer: Add user data/destroy function field
M
buffer.c
+4,
-0
1@@ -35,6 +35,7 @@ void buffer_initialize(struct wld_buffer * buffer,
2 buffer->pitch = pitch;
3 buffer->map.data = NULL;
4 buffer->map.count = 0;
5+ buffer->destroy_data = NULL;
6 buffer->exporters = NULL;
7 }
8
9@@ -98,6 +99,9 @@ void wld_destroy_buffer(struct wld_buffer * buffer)
10 if (buffer->map.count > 0)
11 wld_unmap(buffer);
12
13+ if (buffer->destroy_data)
14+ buffer->destroy_data(buffer->data);
15+
16 for (exporter = buffer->exporters, next = exporter ? exporter->next : NULL;
17 exporter; exporter = next, next = exporter ? exporter->next : NULL)
18 {
M
wld.h
+3,
-0
1@@ -153,6 +153,9 @@ struct wld_buffer
2 uint32_t width, height, pitch;
3 enum wld_format format;
4
5+ void * data;
6+ void (* destroy_data)(void * data);
7+
8 struct
9 {
10 void * data;