[gegl] buffer: further fixes to rows computation in gegl-buffer-access.c
- From: Øyvind Kolås <ok src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gegl] buffer: further fixes to rows computation in gegl-buffer-access.c
- Date: Sun, 14 Jan 2018 16:22:43 +0000 (UTC)
commit e348c1dc7afb8e84c5ab56baf5d90e48cb9f7f28
Author: Øyvind Kolås <pippin gimp org>
Date: Sun Jan 14 17:21:59 2018 +0100
buffer: further fixes to rows computation in gegl-buffer-access.c
gegl/buffer/gegl-buffer-access.c | 9 +++++++--
1 files changed, 7 insertions(+), 2 deletions(-)
---
diff --git a/gegl/buffer/gegl-buffer-access.c b/gegl/buffer/gegl-buffer-access.c
index 89c6276..de68c21 100644
--- a/gegl/buffer/gegl-buffer-access.c
+++ b/gegl/buffer/gegl-buffer-access.c
@@ -465,8 +465,12 @@ gegl_buffer_iterate_write (GeglBuffer *buffer,
{
int skip, rows = MIN(height - bufy, tile_height - offsety);
rows = MIN(abyss_y_total - bufy, rows);
+ skip = bufy - buffer_abyss_y;
+ if (skip < 0 || skip > tile_height) skip = 0;
+ rows-=skip;
+
if (rows==1)
- babl_process (fish,bp + lskip * bpx_size, tp + lskip * px_size, pixels);
+ babl_process (fish,bp + lskip * bpx_size + skip * buf_stride, tp + lskip * px_size + skip *
tile_stride, pixels);
else
babl_process_rows (fish,
bp + lskip * bpx_size + skip * buf_stride,
@@ -1900,10 +1904,11 @@ _gegl_buffer_get_unlocked (GeglBuffer *buffer,
}
else
{
+ gint bpp = babl_format_get_bytes_per_pixel (buffer->soft_format);
+
if (format == NULL)
format = buffer->soft_format;
- gint bpp = babl_format_get_bytes_per_pixel (buffer->soft_format);
if (!format || buffer->soft_format == format || rowstride != bpp)
{
gegl_buffer_iterate_read_dispatch (buffer, rect, dest_buf,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]