]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Fix copying planar bitmaps when the horizontal start and end are both not
authorbde <bde@FreeBSD.org>
Fri, 3 May 2019 13:06:46 +0000 (13:06 +0000)
committerbde <bde@FreeBSD.org>
Fri, 3 May 2019 13:06:46 +0000 (13:06 +0000)
commitc96e16b3a6431863b21829b775407aa13e0f3446
tree6f8e5d1e2902cc8fb38e53aeca4efdbda25992de
parent90cdaa0665b339584f85be1ce3b5a4ae4db3a185
Fix copying planar bitmaps when the horizontal start and end are both not
multiples of 8.  Then the misaligned pixels at the end were not copied.

Clean up variable misuse related to this bug.  The width in bytes was
first calculated correctly and used to do complicated reblocking
correctly, but it was stored in an unrelated scratch variable and later
recalculated with an off-by-1-error, so the last byte (times 4 planes)
in the intermediate copy was not copied.

This doubly-misaligned case is especially slow.  Misalignment complicates
the reblocking, and each misaligment requires a read before write, and this
read is still not done from the shadow buffer.
lib/libvgl/bitmap.c