diff options
author | marha <marha@users.sourceforge.net> | 2013-10-07 16:40:05 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2013-10-07 16:40:05 +0200 |
commit | 8f0ed7f7a754df710b13b9dabbaa32b5d4211182 (patch) | |
tree | 03bf52a933c29962894c2cec5f33028439cf4f5a /xorg-server/hw/xnest/GCOps.c | |
parent | 7d29f4054380e7f42722c280b9caedce9fa4ace9 (diff) | |
parent | 81fd17c8678e89cea6610b8b2996b028b21eb5dc (diff) | |
download | vcxsrv-8f0ed7f7a754df710b13b9dabbaa32b5d4211182.tar.gz vcxsrv-8f0ed7f7a754df710b13b9dabbaa32b5d4211182.tar.bz2 vcxsrv-8f0ed7f7a754df710b13b9dabbaa32b5d4211182.zip |
Merge remote-tracking branch 'origin/released'
* origin/released:
xserver fontconfig libXdmcp mesa pixmand xkeyboard-config git update 7 oct 2013
Conflicts:
xorg-server/dix/dispatch.c
xorg-server/dix/privates.c
xorg-server/glx/glxcmds.c
xorg-server/hw/kdrive/ephyr/ephyr.h
xorg-server/hw/kdrive/ephyr/ephyrinit.c
xorg-server/hw/kdrive/ephyr/hostx.c
Diffstat (limited to 'xorg-server/hw/xnest/GCOps.c')
-rw-r--r-- | xorg-server/hw/xnest/GCOps.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/xorg-server/hw/xnest/GCOps.c b/xorg-server/hw/xnest/GCOps.c index e26a1363b..7b1956de0 100644 --- a/xorg-server/hw/xnest/GCOps.c +++ b/xorg-server/hw/xnest/GCOps.c @@ -94,15 +94,29 @@ xnestPutImage(DrawablePtr pDrawable, GCPtr pGC, int depth, int x, int y, } } +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 */ + XSync(xnestDisplay, False); + old_handler = XSetErrorHandler (xnestIgnoreErrorHandler); ximage = XGetImage(xnestDisplay, xnestDrawable(pDrawable), x, y, w, h, planeMask, format); + XSync(xnestDisplay, False); + XSetErrorHandler(old_handler); if (ximage) { length = ximage->bytes_per_line * ximage->height; |