From 88831a8d99249b7489995fd2ee94be3fe91f8ac8 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 22 Feb 2013 17:08:28 -0800 Subject: [PATCH] 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 --- src/mesa/main/errors.c | 6 ++++++ 1 file changed, 6 insertions(+) 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; -- 2.30.2