Index: xorg-server-1.12.1/hw/xnest/GCOps.c =================================================================== --- xorg-server-1.12.1.orig/hw/xnest/GCOps.c +++ xorg-server-1.12.1/hw/xnest/GCOps.c @@ -94,15 +94,26 @@ xnestPutImage(DrawablePtr pDrawable, GCP } } +static int +xnestIgnoreErrorHandler (Display *display, + XErrorEvent *event) +{ + return False; /* return value is ignored */ +} + void xnestGetImage(DrawablePtr pDrawable, int x, int y, int w, int h, unsigned int format, unsigned long planeMask, char *pImage) { XImage *ximage; int length; + int (*old_handler)(Display*, XErrorEvent*); + /* we may get BadMatch error when xnest window is minimized */ + old_handler = XSetErrorHandler (xnestIgnoreErrorHandler); ximage = XGetImage(xnestDisplay, xnestDrawable(pDrawable), x, y, w, h, planeMask, format); + XSetErrorHandler (old_handler); if (ximage) { length = ximage->bytes_per_line * ximage->height;