From 104b51077451a3f9e259ca9aeff0c70ac1aa1d27 Mon Sep 17 00:00:00 2001 From: Niklas Haas Date: Fri, 12 Oct 2018 08:29:07 +0200 Subject: vo_gpu: opengl: fix segfault when gl->DeleteSync is unavailable This deinit code was never checked, so this line would always crash on implementations without support for sync objects. Fixes #6197. --- video/out/opengl/ra_gl.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'video') diff --git a/video/out/opengl/ra_gl.c b/video/out/opengl/ra_gl.c index 7112464e87..70bd9f61aa 100644 --- a/video/out/opengl/ra_gl.c +++ b/video/out/opengl/ra_gl.c @@ -542,7 +542,9 @@ static void gl_buf_destroy(struct ra *ra, struct ra_buf *buf) GL *gl = ra_gl_get(ra); struct ra_buf_gl *buf_gl = buf->priv; - gl->DeleteSync(buf_gl->fence); + if (buf_gl->fence) + gl->DeleteSync(buf_gl->fence); + if (buf->data) { gl->BindBuffer(buf_gl->target, buf_gl->buffer); gl->UnmapBuffer(buf_gl->target); -- cgit v1.2.3