dwm.c
/* There's no way to check accesses to destroyed windows, thus those cases are
 * ignored (especially on UnmapNotify's). Other types of errors call Xlibs
 * default error handler, which may call exit. */
There's no way to check accesses to destroyed windows, thus those cases are
ignored (especially on UnmapNotify's). Other types of errors call Xlibs
default error handler, which may call exit.
There ' s no way to check accesses to destroyed windows thus those cases are ignored ( especially on UnmapNotify ' s ) . Other types of errors call Xlibs default error handler which may call exit .
int xerror(Display *dpy, XErrorEvent *ee)
{
	if (ee->error_code == BadWindow || (ee->request_code == X_SetInputFocus && ee->error_code == BadMatch) || (ee->request_code == X_PolyText8 && ee->error_code == BadDrawable) || (ee->request_code == X_PolyFillRectangle && ee->error_code == BadDrawable) || (ee->request_code == X_PolySegment && ee->error_code == BadDrawable) || (ee->request_code == X_ConfigureWindow && ee->error_code == BadMatch) || (ee->request_code == X_GrabButton && ee->error_code == BadAccess) || (ee->request_code == X_GrabKey && ee->error_code == BadAccess) || (ee->request_code == X_CopyArea && ee->error_code == BadDrawable))
		return 0;
	fprintf(stderr, "dwm: fatal error: request code=%d, error code=%d\n",
			ee->request_code, ee->error_code);
	return xerrorxlib(dpy, ee); 
}
int xerror ( Display * dpy , XErrorEvent * ee ) { if ( ee -> error_code == BadWindow || ( ee -> request_code == X_SetInputFocus && ee -> error_code == BadMatch ) || ( ee -> request_code == X_PolyText8 && ee -> error_code == BadDrawable ) || ( ee -> request_code == X_PolyFillRectangle && ee -> error_code == BadDrawable ) || ( ee -> request_code == X_PolySegment && ee -> error_code == BadDrawable ) || ( ee -> request_code == X_ConfigureWindow && ee -> error_code == BadMatch ) || ( ee -> request_code == X_GrabButton && ee -> error_code == BadAccess ) || ( ee -> request_code == X_GrabKey && ee -> error_code == BadAccess ) || ( ee -> request_code == X_CopyArea && ee -> error_code == BadDrawable ) ) return 0 ; fprintf ( stderr , " \n " , ee -> request_code , ee -> error_code ) ; return xerrorxlib ( dpy , ee ) ; }
There's no way to check accesses to destroyed windows, thus those cases are
 ignored (especially on UnmapNotify's).
There ' s no way to check accesses to destroyed windows thus those cases are ignored ( especially on UnmapNotify ' s ) .
/* may call exit */