diff options
author | marha <marha@users.sourceforge.net> | 2012-08-16 14:52:47 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2012-08-16 14:52:47 +0200 |
commit | e12a88a1a4897365d47e428bceda547a4e02fbd0 (patch) | |
tree | 116944397f595fd9b72d8de3b0a3783ccf3937ef /xorg-server/fb | |
parent | f5a4fa87e844b3ea2658a2355a4c4ac3393a65a1 (diff) | |
parent | 4aac32998c2b173b84aec0b020aa086fef4b1423 (diff) | |
download | vcxsrv-e12a88a1a4897365d47e428bceda547a4e02fbd0.tar.gz vcxsrv-e12a88a1a4897365d47e428bceda547a4e02fbd0.tar.bz2 vcxsrv-e12a88a1a4897365d47e428bceda547a4e02fbd0.zip |
Merge remote-tracking branch 'origin/released'
Diffstat (limited to 'xorg-server/fb')
-rw-r--r-- | xorg-server/fb/fbseg.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/xorg-server/fb/fbseg.c b/xorg-server/fb/fbseg.c index 0e4e0a9f7..1848387f6 100644 --- a/xorg-server/fb/fbseg.c +++ b/xorg-server/fb/fbseg.c @@ -65,6 +65,12 @@ fbBresSolid(DrawablePtr pDrawable, if (axis == X_AXIS) { bits = 0; while (len--) { + if (e >= 0) { + WRITE(dst, FbDoMaskRRop (READ(dst), and, xor, bits)); + bits = 0; + dst += dstStride; + e += e3; + } bits |= mask; mask = fbBresShiftMask(mask, signdx, dstBpp); if (!mask) { @@ -74,21 +80,12 @@ fbBresSolid(DrawablePtr pDrawable, mask = mask0; } e += e1; - if (e >= 0) { - WRITE(dst, FbDoMaskRRop(READ(dst), and, xor, bits)); - bits = 0; - dst += dstStride; - e += e3; - } } if (bits) WRITE(dst, FbDoMaskRRop(READ(dst), and, xor, bits)); } else { while (len--) { - WRITE(dst, FbDoMaskRRop(READ(dst), and, xor, mask)); - dst += dstStride; - e += e1; if (e >= 0) { e += e3; mask = fbBresShiftMask(mask, signdx, dstBpp); @@ -97,6 +94,9 @@ fbBresSolid(DrawablePtr pDrawable, mask = mask0; } } + WRITE(dst, FbDoMaskRRop(READ(dst), and, xor, mask)); + dst += dstStride; + e += e1; } } |