summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2013-02-22 17:08:28 -0800
committerEric Anholt <[email protected]>2013-03-05 14:24:59 -0800
commit88831a8d99249b7489995fd2ee94be3fe91f8ac8 (patch)
tree4bbc64ff1304e89d2922047d792a58455efbf73a
parente0d1e3b785134ef38961e358d8474d027f856539 (diff)
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 <[email protected]>
-rw-r--r--src/mesa/main/errors.c6
1 files changed, 6 insertions, 0 deletions
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;