memmove already deal with any alignment so there's no reason to have row byte pointer cast to uint32_t. This also remove the confusing "dest" terminology used. The image is aligned in place so the image bits are used for both destination and source. Signed-off-by: Frediano Ziglio <fziglio@xxxxxxxxxx> --- common/canvas_base.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) Changes since v1: - remove confusing "dest" terminology. diff --git a/common/canvas_base.c b/common/canvas_base.c index 5815e9c..ed0de73 100644 --- a/common/canvas_base.c +++ b/common/canvas_base.c @@ -520,12 +520,11 @@ static void canvas_fix_alignment(uint8_t *bits, if (stride_pixman > stride_encoded) { // Fix the row alignment int row; - uint8_t *dest = bits; for (row = height - 1; row > 0; --row) { - uint32_t *dest_aligned, *dest_misaligned; - dest_aligned = SPICE_ALIGNED_CAST(uint32_t *,dest + stride_pixman*row); - dest_misaligned = SPICE_UNALIGNED_CAST(uint32_t*,dest + stride_encoded*row); - memmove(dest_aligned, dest_misaligned, stride_encoded); + uint8_t *aligned, *misaligned; + aligned = bits + stride_pixman*row; + misaligned = bits + stride_encoded*row; + memmove(aligned, misaligned, stride_encoded); } } } -- 2.9.4 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel