$NetBSD: patch-ac,v 1.5 2007/09/18 19:18:11 drochner Exp $ --- src/lib/grab.c.orig 2007-02-16 12:58:53.000000000 +0100 +++ src/lib/grab.c @@ -539,7 +539,9 @@ __imlib_GrabDrawableToRGBA(DATA32 * data int i; int src_x, src_y, src_w, src_h, origw, origh; int width, height, clipx, clipy; +#ifndef __INTERIX XShmSegmentInfo shminfo, mshminfo; +#endif /* !__INTERIX */ XImage *xim = NULL, *mxim = NULL; static signed char x_does_shm = -1; XColor cols[256]; @@ -673,14 +675,17 @@ __imlib_GrabDrawableToRGBA(DATA32 * data /* Create an Ximage (shared or not) */ if (x_does_shm < 0) { +#ifndef __INTERIX if (XShmQueryExtension(d)) x_does_shm = 1; else +#endif /* !__INTERIX */ x_does_shm = 0; } prev_erh = XSetErrorHandler((XErrorHandler) Tmp_HandleXError); +#ifndef __INTERIX if (x_does_shm) { _x_err = 0; @@ -727,6 +732,7 @@ __imlib_GrabDrawableToRGBA(DATA32 * data } } } +#endif /* !__INTERIX */ if (!is_shm) xim = XGetImage(d, p, x, y, w, h, 0xffffffff, ZPixmap); if (!xim) @@ -739,6 +745,7 @@ __imlib_GrabDrawableToRGBA(DATA32 * data if ((m) && (domask)) { _x_err = 0; +#ifndef __INTERIX if (x_does_shm) { mxim = XShmCreateImage(d, v, 1, ZPixmap, NULL, &mshminfo, w, h); @@ -786,6 +793,7 @@ __imlib_GrabDrawableToRGBA(DATA32 * data } } } +#endif /* !__INTERIX */ if (!is_mshm) mxim = XGetImage(d, m, 0, 0, w, h, 0xffffffff, ZPixmap); } @@ -844,6 +852,7 @@ __imlib_GrabDrawableToRGBA(DATA32 * data d, xim, mxim, v, xatt.depth, x, y, w, h, 0); /* destroy the Ximage */ +#ifndef __INTERIX if (is_shm) { XSync(d, False); @@ -857,6 +866,7 @@ __imlib_GrabDrawableToRGBA(DATA32 * data shmdt(mshminfo.shmaddr); shmctl(mshminfo.shmid, IPC_RMID, 0); } +#endif /* !__INTERIX */ XDestroyImage(xim); if (created_mask) XFreePixmap(d, m);