I don't know, but I don't think so since none of the lines changed in that commit are actually reached before the crash (at least for that drawable). Furthermore, it appears to fix a problem in more recent API. The only part of the patch that applies on version 2:1.7.4-2 is the extraction of the ending of the DRI2DestroyDrawable into DRI2FreeDrawable, which is still equivalent.
I think the problem is here (#4 in backtrace, __glXDRIdrawableDestroy in glx/glxdri2.c): /* If the X window was destroyed, the dri DestroyWindow hook will * aready have taken care of this, so only call if pDraw isn't NULL. */ if (drawable->pDraw != NULL) DRI2DestroyDrawable(drawable->pDraw); It assumes that drawable->pDraw has been set to NULL if it is already freed. However, wherever it is freed this pointer is not set to NULL afterwards (at least that's what I suspect). I don't know where I can find the code of the "dri DestroyWindow hook", though. /Patrik On Sat, 2010-01-30 at 18:45 +0100, Brice Goglin wrote: > Random guess: Could be related to > http://cgit.freedesktop.org/xorg/xserver/commit/?id=711e26466ae04ae93ff4c48d377d83d68a6320e9 > ? > > Brice >
signature.asc
Description: This is a digitally signed message part