diff --git a/legacy/evas/src/modules/engines/software_x11/evas_x_buffer.c b/legacy/evas/src/modules/engines/software_x11/evas_x_buffer.c index 1c9b2e1651..eac0f1c094 100644 --- a/legacy/evas/src/modules/engines/software_x11/evas_x_buffer.c +++ b/legacy/evas/src/modules/engines/software_x11/evas_x_buffer.c @@ -14,6 +14,7 @@ evas_software_x11_x_write_mask_line(Outbuf *buf, X_Output_Buffer *xob, DATA32 *s src_ptr = src; dst_ptr = evas_software_x11_x_output_buffer_data(xob, &bpl); dst_ptr = dst_ptr + (bpl * y); + w -= 7; if (buf->priv.x.bit_swap) { for (x = 0; x < w; x += 8) @@ -48,6 +49,7 @@ evas_software_x11_x_write_mask_line(Outbuf *buf, X_Output_Buffer *xob, DATA32 *s dst_ptr++; } } + w += 7; for (; x < w; x ++) { XPutPixel(xob->xim, x, y, A_VAL(src_ptr) >> 7); diff --git a/legacy/evas/src/modules/engines/software_xcb/evas_xcb_buffer.c b/legacy/evas/src/modules/engines/software_xcb/evas_xcb_buffer.c index 9939d93a87..2518a84d7c 100644 --- a/legacy/evas/src/modules/engines/software_xcb/evas_xcb_buffer.c +++ b/legacy/evas/src/modules/engines/software_xcb/evas_xcb_buffer.c @@ -18,6 +18,7 @@ evas_software_xcb_x_write_mask_line(Outbuf *buf, src_ptr = src; dst_ptr = evas_software_xcb_x_output_buffer_data(xcbob, &bpl); dst_ptr = dst_ptr + (bpl * y); + w -= 7; if (buf->priv.x.bit_swap) { for (x = 0; x < w; x += 8) @@ -52,6 +53,7 @@ evas_software_xcb_x_write_mask_line(Outbuf *buf, dst_ptr++; } } + w += 7; for (; x < w; x ++) { xcb_image_put_pixel(xcbob->image, x, y, A_VAL(src_ptr) >> 7);