From 082a6404c9613beeef4feafdb91ff43994c096dc Mon Sep 17 00:00:00 2001 From: Ell Date: Thu, 5 Apr 2018 02:14:29 -0400 Subject: [PATCH] app: fix iterator area in canvas_buffer_to_paint_buf_alpha() The entire ROI was processed in all threads, instead of only the thread-specific area, causing artifacts. --- app/paint/gimppaintcore-loops.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/paint/gimppaintcore-loops.cc b/app/paint/gimppaintcore-loops.cc index f923bc5712..c02335dca0 100644 --- a/app/paint/gimppaintcore-loops.cc +++ b/app/paint/gimppaintcore-loops.cc @@ -215,7 +215,7 @@ canvas_buffer_to_paint_buf_alpha (GimpTempBuf *paint_buf, { GeglBufferIterator *iter; - iter = gegl_buffer_iterator_new (canvas_buffer, &roi, 0, + iter = gegl_buffer_iterator_new (canvas_buffer, area, 0, babl_format ("Y float"), GEGL_ACCESS_READ, GEGL_ABYSS_NONE); @@ -350,7 +350,7 @@ do_layer_blend (GeglBuffer *src_buffer, g_return_if_fail (gimp_temp_buf_get_format (paint_buf) == iterator_format); gimp_parallel_distribute_area (&roi, MIN_PARALLEL_SUB_AREA, - [=] (const GeglRectangle *area) + [=] (const GeglRectangle *area) { GeglBufferIterator *iter; GeglRectangle mask_area = *area;