summaryrefslogtreecommitdiff
path: root/xc/programs/Xserver/fb/fbsetsp.c
diff options
context:
space:
mode:
Diffstat (limited to 'xc/programs/Xserver/fb/fbsetsp.c')
-rw-r--r--xc/programs/Xserver/fb/fbsetsp.c9
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,