diff options
Diffstat (limited to 'xc/programs/Xserver/fb/fbsetsp.c')
-rw-r--r-- | xc/programs/Xserver/fb/fbsetsp.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/xc/programs/Xserver/fb/fbsetsp.c b/xc/programs/Xserver/fb/fbsetsp.c index d2490e891..e207760c6 100644 --- a/xc/programs/Xserver/fb/fbsetsp.c +++ b/xc/programs/Xserver/fb/fbsetsp.c @@ -21,7 +21,7 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $XFree86: xc/programs/Xserver/fb/fbsetsp.c,v 1.4 2000/05/06 21:09:34 keithp Exp $ */ +/* $XFree86: xc/programs/Xserver/fb/fbsetsp.c,v 1.5 2001/05/29 04:54:09 keithp Exp $ */ #include "fb.h" @@ -39,6 +39,7 @@ fbSetSpans (DrawablePtr pDrawable, FbBits *dst, *d, *s; FbStride dstStride; int dstBpp; + int dstXoff, dstYoff; BoxPtr pbox; int n; int xoff; @@ -51,10 +52,10 @@ fbSetSpans (DrawablePtr pDrawable, return; } #endif - fbGetDrawable (pDrawable, dst, dstStride, dstBpp); + fbGetDrawable (pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); while (nspans--) { - d = dst + ppt->y * dstStride; + d = dst + (ppt->y + dstYoff) * dstStride; xoff = (int) (((long) src) & (FB_MASK >> 3)); s = (FbBits *) (src - xoff); xoff <<= 3; @@ -78,7 +79,7 @@ fbSetSpans (DrawablePtr pDrawable, (x1 - ppt->x) * dstBpp + xoff, d, dstStride, - x1 * dstBpp, + (x1 + dstXoff) * dstBpp, (x2 - x1) * dstBpp, 1, |