I tried to debug this issue with changing the condition to check only bad magic and Error. And the test passed.
Though i am not sure what is the correct behaviour if we are in this condition. May be we should make some other condition if the Hash Table have the bucket data. --- src/glx/dri2_glx.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/glx/dri2_glx.c b/src/glx/dri2_glx.c index af388d9..a1fd9ff 100644 --- a/src/glx/dri2_glx.c +++ b/src/glx/dri2_glx.c @@ -411,12 +411,13 @@ dri2CreateDrawable(struct glx_screen *base, XID xDrawable, return NULL; } - if (__glxHashInsert(pdp->dri2Hash, xDrawable, pdraw)) { + if (__glxHashInsert(pdp->dri2Hash, xDrawable, pdraw) == -1) { (*psc->core->destroyDrawable) (pdraw->driDrawable); DRI2DestroyDrawable(psc->base.dpy, xDrawable); free(pdraw); return None; } + /* * Make sure server has the same swap interval we do for the new -- 2.7.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev