mesa: Release gl_debug_state when destroying context.

Commit 6e8d04a caused a leak by allocating ctx->Debug but never freeing it.
Release the memory in _mesa_free_errors_data when destroying a context.
Use FREE to match CALLOC_STRUCT from _mesa_get_debug_state.

Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
Mike Stroyan
2014-03-11 17:07:00 -06:00
committed by Brian Paul
parent 2c886eba78
commit 6e627b49f9

View File

@@ -969,7 +969,7 @@ _mesa_init_errors(struct gl_context *ctx)
/** /**
* Loop through debug group stack tearing down states for * Loop through debug group stack tearing down states for
* filtering debug messages. * filtering debug messages. Then free debug output state.
*/ */
void void
_mesa_free_errors_data(struct gl_context *ctx) _mesa_free_errors_data(struct gl_context *ctx)
@@ -980,6 +980,9 @@ _mesa_free_errors_data(struct gl_context *ctx)
for (i = 0; i <= ctx->Debug->GroupStackDepth; i++) { for (i = 0; i <= ctx->Debug->GroupStackDepth; i++) {
free_errors_data(ctx, i); free_errors_data(ctx, i);
} }
FREE(ctx->Debug);
/* set to NULL just in case it is used before context is completely gone. */
ctx->Debug = NULL;
} }
} }