/*
* ion/ioncore/rootwin.c
*
- * Copyright (c) Tuomo Valkonen 1999-2007.
+ * Copyright (c) Tuomo Valkonen 1999-2009.
*
- * Ion is free software; you can redistribute it and/or modify it under
- * the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or
- * (at your option) any later version.
+ * See the included file LICENSE for details.
*/
#include <unistd.h>
/* Just ignore bad window and similar errors; makes the rest of
* the code simpler.
+ *
+ * Apparently XGetWindowProperty can return BadMatch on a race
+ * condition where the server is already reusing the XID for a
+ * non-window drawable, so let's just ignore BadMatch entirely...
*/
if((ev->error_code==BadWindow ||
- (ev->error_code==BadMatch && ev->request_code==X_SetInputFocus) ||
+ (ev->error_code==BadMatch /*&& ev->request_code==X_SetInputFocus*/) ||
(ev->error_code==BadDrawable && ev->request_code==X_GetGeometry)) &&
ignore_badwindow)
return 0;