commit d611113

Michael Forney  ·  2014-01-15 12:45:23 +0000 UTC
parent 9242691
buffer: Add user data/destroy function field
2 files changed,  +7, -0
M wld.h
+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;