commit 5c84ffa
Michael Forney
·
2014-02-12 20:53:28 +0000 UTC
parent 8884f07
buffer: Run destructors before unmapping buffer This way we avoid unmapping the buffer twice if a destructor calls wld_unmap (as in wayland-shm).
1 files changed,
+3,
-3
M
buffer.c
M
buffer.c
+3,
-3
1@@ -121,9 +121,6 @@ void wld_buffer_unreference(struct wld_buffer * base)
2 if (--buffer->references > 0)
3 return;
4
5- if (buffer->map_references > 0)
6- buffer->base.impl->unmap(buffer);
7-
8 pixman_region32_fini(&buffer->base.damage);
9
10 for (destructor = buffer->destructors; destructor; destructor = next)
11@@ -132,6 +129,9 @@ void wld_buffer_unreference(struct wld_buffer * base)
12 destructor->destroy(destructor);
13 }
14
15+ if (buffer->map_references > 0)
16+ buffer->base.impl->unmap(buffer);
17+
18 buffer->base.impl->destroy(buffer);
19 }
20