diff --git a/hw/xnest/GCOps.c b/hw/xnest/GCOps.c index 09b2670d6..9b31e16f7 100644 --- a/hw/xnest/GCOps.c +++ b/hw/xnest/GCOps.c @@ -298,8 +298,13 @@ xnestPolyFillRect(DrawablePtr pDrawable, GCPtr pGC, int nRectangles, void xnestPolyFillArc(DrawablePtr pDrawable, GCPtr pGC, int nArcs, xArc * pArcs) { - XFillArcs(xnestDisplay, xnestDrawable(pDrawable), xnestGC(pGC), - (XArc *) pArcs, nArcs); + /* xArc and xcb_arc_t are defined in the same way, both matching + the protocol layout, so we can directly typecast them */ + xcb_poly_fill_arc(xnestUpstreamInfo.conn, + xnestDrawable(pDrawable), + xnest_upstream_gc(pGC), + nArcs, + (xcb_arc_t*)pArcs); } int