Fix EGLImageKHR leak in wl_buffer destroy

This commit is contained in:
Kristian Høgsberg 2010-09-24 10:01:18 -04:00
parent 45115a435e
commit 98ffc93b95
2 changed files with 4 additions and 5 deletions

View File

@ -121,6 +121,7 @@ struct wlsc_drm {
struct wlsc_buffer {
struct wl_buffer base;
struct wlsc_compositor *compositor;
int32_t width, height;
EGLImageKHR image;
struct wl_visual *visual;

View File

@ -43,12 +43,9 @@ destroy_buffer(struct wl_resource *resource, struct wl_client *client)
{
struct wlsc_buffer *buffer =
container_of(resource, struct wlsc_buffer, base.base);
struct wlsc_compositor *compositor = buffer->compositor;
#if 0
/* FIXME: Need backlink to EGL display here */
eglDestroyImageKHR(ec->display, buffer->image);
#endif
eglDestroyImageKHR(compositor->display, buffer->image);
free(buffer);
}
@ -101,6 +98,7 @@ drm_create_buffer(struct wl_client *client, struct wl_drm *drm_base,
attribs[3] = height;
attribs[5] = stride / 4;
buffer->compositor = compositor;
buffer->width = width;
buffer->height = height;
buffer->visual = visual;