Mesa (master): mesa: Fix _mesa_problem() on context destroy after application debug output

Eric Anholt anholt at kemper.freedesktop.org
Tue Mar 5 22:28:37 UTC 2013


Module: Mesa
Branch: master
Commit: 88831a8d99249b7489995fd2ee94be3fe91f8ac8
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=88831a8d99249b7489995fd2ee94be3fe91f8ac8

Author: Eric Anholt <eric at anholt.net>
Date:   Fri Feb 22 17:08:28 2013 -0800

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 at intel.com>

---

 src/mesa/main/errors.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/src/mesa/main/errors.c b/src/mesa/main/errors.c
index 3714067..6adc466 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;




More information about the mesa-commit mailing list