[PATCH] Return BadWindow instead of BadMatch from dixLookupWindow
jcristau at debian.org
Sat Jun 5 11:25:08 PDT 2010
On Sat, Jun 5, 2010 at 16:41:42 +0200, Julien Cristau wrote:
> From: Ben Hutchings <ben at decadent.org.uk>
> BadMatch is not a documented error code for XGetWindowProperty which
> sends X_GetProperty requests. However, the implementation in Xorg
> appears to return BadMatch if and only if it's passed a reference to a
> drawable that isn't a window.
> I don't understand how the server coordinates window changes with the
> WM. Is it possible that a window can be completely deleted before the
> WM has handled it? In that case there is presumably a race condition
> where a window could disppear and another drawable be created with the
> same id.
> I would suggest the following change. This is untested because the
> BadWindow or BadMatch error is dependent on a race condition if I
> understand correctly. But it's "obviously correct". :-)
> Debian bug#491979 <http://bugs.debian.org/491979>
> Ben sent this patch to the Debian bug in 2008, but this seems to still
> apply to the current code. The initial report was a ion3 crash because
> it got unexpected BadMatch errors from XGetWindowProperty.
Disregard this, the bug was already fixed in commit f04fe06ae24. Sorry
for the noise.
More information about the xorg-devel