From: Eric Anholt Date: Sat, 23 Feb 2013 01:08:28 +0000 (-0800) Subject: mesa: Fix _mesa_problem() on context destroy after application debug output X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=88831a8d99249b7489995fd2ee94be3fe91f8ac8;p=mesa.git mesa: Fix _mesa_problem() on context destroy after application debug output This was apparently not noticed because we don't have any testing of application-generated debug output. However, as I'm changing the GL-generated debug output to use the same path as application/middleware-generated debug output, this obviously became an issue. Reviewed-by: Jordan Justen --- diff --git a/src/mesa/main/errors.c b/src/mesa/main/errors.c index 3714067a98f..6adc4667334 100644 --- a/src/mesa/main/errors.c +++ b/src/mesa/main/errors.c @@ -756,6 +756,11 @@ _mesa_init_errors(struct gl_context *ctx) } } +static void +do_nothing(GLuint key, void *data, void *userData) +{ +} + void _mesa_free_errors_data(struct gl_context *ctx) { @@ -765,6 +770,7 @@ _mesa_free_errors_data(struct gl_context *ctx) /* Tear down state for filtering client-provided debug messages. */ for (s = 0; s < SOURCE_COUNT; s++) for (t = 0; t < MESA_DEBUG_TYPE_COUNT; t++) { + _mesa_HashDeleteAll(ClientIDs->Namespaces[s][t].IDs, do_nothing, NULL); _mesa_DeleteHashTable(ClientIDs->Namespaces[s][t].IDs); for (sev = 0; sev < MESA_DEBUG_SEVERITY_COUNT; sev++) { struct simple_node *node, *tmp;