diff options
-rw-r--r-- | src/cairo-gl-shaders.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/cairo-gl-shaders.c b/src/cairo-gl-shaders.c index b5796f79d..cfc85406b 100644 --- a/src/cairo-gl-shaders.c +++ b/src/cairo-gl-shaders.c @@ -302,6 +302,13 @@ _cairo_gl_context_fini_shaders (cairo_gl_context_t *ctx) ctx->dispatch.DeleteShader (ctx->vertex_shaders[i]); } + if (ctx->fill_rectangles_shader.program || + ctx->fill_rectangles_shader.fragment_shader) { + _cairo_gl_shader_fini(ctx, &ctx->fill_rectangles_shader); + ctx->fill_rectangles_shader.fragment_shader = 0; + ctx->fill_rectangles_shader.program = 0; + } + _cairo_cache_fini (&ctx->shaders); } |