diff --git a/fb/fbarc.c b/fb/fbarc.c index faf2628b3..f89b81c52 100644 --- a/fb/fbarc.c +++ b/fb/fbarc.c @@ -75,7 +75,9 @@ fbPolyArc (DrawablePtr pDrawable, cclip = fbGetCompositeClip (pGC); fbGetDrawable (pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); +#ifdef FB_ACCESS_WRAPPER wrapped = 1; +#endif while (narcs--) { if (miCanZeroArc (parcs)) @@ -99,34 +101,42 @@ fbPolyArc (DrawablePtr pDrawable, box.y2 = y2; if ( (x2 <= SHRT_MAX) && (y2 <= SHRT_MAX) && (RECT_IN_REGION(pDrawable->pScreen, cclip, &box) == rgnIN) ) { +#ifdef FB_ACCESS_WRAPPER if (!wrapped) { fbPrepareAccess (pDrawable); wrapped = 1; } +#endif (*arc) (dst, dstStride, dstBpp, parcs, pDrawable->x + dstXoff, pDrawable->y + dstYoff, pPriv->and, pPriv->xor); } else { +#ifdef FB_ACCESS_WRAPPER if (wrapped) { fbFinishAccess (pDrawable); wrapped = 0; } +#endif miZeroPolyArc(pDrawable, pGC, 1, parcs); } } else { +#ifdef FB_ACCESS_WRAPPER if (wrapped) { fbFinishAccess (pDrawable); wrapped = 0; } +#endif miPolyArc(pDrawable, pGC, 1, parcs); } parcs++; } +#ifdef FB_ACCESS_WRAPPER if (wrapped) { fbFinishAccess (pDrawable); wrapped = 0; } +#endif } else #endif