Jordan Justen <jljus...@gmail.com> writes:

> On Fri, Feb 22, 2013 at 7:52 PM, Eric Anholt <e...@anholt.net> wrote:
>> 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.
>> ---
>>  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 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);
>
> Maybe _mesa_HashDeleteAll should accept a NULL callback routine?

Given that we're working around the _mesa_problem() for the expected
usage of this hash table wrapper (GL handles to GL object pointers), I
think we should swap to directly using the underlying hash table, which
wouldn't have this problem, and would remove the ID==0 special case
code.

Attachment: pgpCVY8xwieze.pgp
Description: PGP signature

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to