[gimp] Bug 793392 - Issue when painting with some layer modes ...
- From: N/A <ell src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] Bug 793392 - Issue when painting with some layer modes ...
- Date: Mon, 12 Feb 2018 18:50:24 +0000 (UTC)
commit 1be002254deeeda6b0f4c982b321ca2ab6503422
Author: Ell <ell_se yahoo com>
Date: Mon Feb 12 13:38:19 2018 -0500
Bug 793392 - Issue when painting with some layer modes ...
... on perceptual gamma image
When constructing the paint core's paint buffer, in GimpBrushCore
and GimpInk, use the drawable's format as the preferred format in
the call to gimp_layer_mode_get_format(), instead of NULL.
Subsequently, use the paint buffer's format, instead of the source
buffer's format, as the preferred iterator format in
do_layer_blend(), since the iterator format must match the paint
buffer format.
app/paint/gimpbrushcore.c | 4 ++--
app/paint/gimpink.c | 2 +-
app/paint/gimppaintcore-loops.c | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
---
diff --git a/app/paint/gimpbrushcore.c b/app/paint/gimpbrushcore.c
index 1eecd0c..7af1002 100644
--- a/app/paint/gimpbrushcore.c
+++ b/app/paint/gimpbrushcore.c
@@ -850,12 +850,12 @@ gimp_brush_core_get_paint_buffer (GimpPaintCore *paint_core,
format = gimp_layer_mode_get_format (paint_mode,
GIMP_LAYER_COLOR_SPACE_AUTO,
GIMP_LAYER_COLOR_SPACE_AUTO,
- NULL);
+ gimp_drawable_get_format (drawable));
if (paint_core->paint_buffer &&
gegl_buffer_get_width (paint_core->paint_buffer) == (x2 - x1) &&
gegl_buffer_get_height (paint_core->paint_buffer) == (y2 - y1) &&
- gegl_buffer_get_format (paint_core->paint_buffer) == format )
+ gegl_buffer_get_format (paint_core->paint_buffer) == format)
{
*paint_buffer_x = x1;
*paint_buffer_y = y1;
diff --git a/app/paint/gimpink.c b/app/paint/gimpink.c
index 80bceea..3a3e6d8 100644
--- a/app/paint/gimpink.c
+++ b/app/paint/gimpink.c
@@ -262,7 +262,7 @@ gimp_ink_get_paint_buffer (GimpPaintCore *paint_core,
format = gimp_layer_mode_get_format (paint_mode,
GIMP_LAYER_COLOR_SPACE_AUTO,
GIMP_LAYER_COLOR_SPACE_AUTO,
- NULL);
+ gimp_drawable_get_format (drawable));
temp_buf = gimp_temp_buf_new ((x2 - x1), (y2 - y1),
format);
diff --git a/app/paint/gimppaintcore-loops.c b/app/paint/gimppaintcore-loops.c
index 9551b97..a58b3f3 100644
--- a/app/paint/gimppaintcore-loops.c
+++ b/app/paint/gimppaintcore-loops.c
@@ -322,7 +322,7 @@ do_layer_blend (GeglBuffer *src_buffer,
iterator_format = gimp_layer_mode_get_format (paint_mode,
layer_mode.composite_space,
layer_mode.blend_space,
- gegl_buffer_get_format (src_buffer));
+ gimp_temp_buf_get_format (paint_buf));
roi.x = x_offset;
roi.y = y_offset;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]