Index: programs/Xserver/hw/xnest/GCOps.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xnest/GCOps.c,v retrieving revision 1.6 diff -u -p -r1.6 GCOps.c --- programs/Xserver/hw/xnest/GCOps.c 14 Jul 2005 03:36:43 -0000 1.6 +++ programs/Xserver/hw/xnest/GCOps.c 7 Jun 2006 13:40:01 -0000 @@ -96,6 +96,13 @@ 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, @@ -103,9 +110,13 @@ xnestGetImage(DrawablePtr pDrawable, int { 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;