--- glx/glxcmds.c.orig 2010-12-04 12:14:06.640357446 +0200 +++ glx/glxcmds.c 2010-12-04 12:17:25.389359248 +0200 @@ -1156,6 +1156,13 @@ DoCreateGLXPixmap(ClientPtr client, __GL return BadPixmap; } + if (pDraw->id != drawableId) { + LogMessage(X_ERROR, "DANGER: DoCreateGLXPixmap - drawableId %u, pDraw->id %u\n", drawableId, pDraw->id); + if (pDraw->id == 0) { + LogMessage(X_ERROR, "... fixing up\n"); + pDraw->id = drawableId; + } + } err = DoCreateGLXDrawable(client, pGlxScreen, config, pDraw, drawableId, glxDrawableId, GLX_DRAWABLE_PIXMAP);