diff options
Diffstat (limited to 'Build/source/libs/pixman/pixman-src/pixman/pixman-general.c')
-rw-r--r-- | Build/source/libs/pixman/pixman-src/pixman/pixman-general.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/Build/source/libs/pixman/pixman-src/pixman/pixman-general.c b/Build/source/libs/pixman/pixman-src/pixman/pixman-general.c index 6141cb0a30c..7e5a0d09cc8 100644 --- a/Build/source/libs/pixman/pixman-src/pixman/pixman-general.c +++ b/Build/source/libs/pixman/pixman-src/pixman/pixman-general.c @@ -141,7 +141,8 @@ general_composite_rect (pixman_implementation_t *imp, if ((src_image->common.flags & FAST_PATH_NARROW_FORMAT) && (!mask_image || mask_image->common.flags & FAST_PATH_NARROW_FORMAT) && (dest_image->common.flags & FAST_PATH_NARROW_FORMAT) && - !(operator_needs_division (op))) + !(operator_needs_division (op)) && + (dest_image->bits.dither == PIXMAN_DITHER_NONE)) { width_flag = ITER_NARROW; Bpp = 4; @@ -164,6 +165,12 @@ general_composite_rect (pixman_implementation_t *imp, if (!scanline_buffer) return; + + memset (scanline_buffer, 0, width * Bpp * 3 + 15 * 3); + } + else + { + memset (stack_scanline_buffer, 0, sizeof (stack_scanline_buffer)); } src_buffer = ALIGN (scanline_buffer); |