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 <jordan.l.justen@intel.com>
This commit is contained in:
Eric Anholt
2013-02-22 17:08:28 -08:00
parent e0d1e3b785
commit 88831a8d99
+6
View File
@@ -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;