From 1566941c2fe67fa7d95f489aeede1d0801427614 Mon Sep 17 00:00:00 2001 From: Neil Roberts Date: Fri, 4 Nov 2011 12:53:25 +0000 Subject: [PATCH] cogl-context: Destroy texture units later on This patch moves the call to _cogl_destroy_texture_units() from _cogl_context_free() to later on. When destroying a GL texture the texture units are checked. This would end up accessing invalid memory so we need to try to destroy the texture units only after everything that might be referencing a texture has been destroyed. Reviewed-by: Robert Bragg --- cogl/cogl-context.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cogl/cogl-context.c b/cogl/cogl-context.c index bd3eca410..da41a8204 100644 --- a/cogl/cogl-context.c +++ b/cogl/cogl-context.c @@ -408,8 +408,6 @@ _cogl_context_free (CoglContext *context) winsys->context_deinit (context); - _cogl_destroy_texture_units (); - if (context->window_buffer) { cogl_object_unref (context->window_buffer); @@ -486,6 +484,8 @@ _cogl_context_free (CoglContext *context) cogl_pipeline_cache_free (context->pipeline_cache); + _cogl_destroy_texture_units (); + g_byte_array_free (context->buffer_map_fallback_array, TRUE); cogl_object_unref (context->display);