[gimp] Bug 759796 - Blend tool regression



commit 5730278eeb97ee873103e773d519f76d4d1d51a7
Author: Michael Natterer <mitch gimp org>
Date:   Sun Apr 17 01:06:08 2016 +0100

    Bug 759796 - Blend tool regression
    
    We must not dither the alpha channel if it is fully opaque or fully
    transparent. 2.8 did the same but the dithering of these values was
    apparently consumed be putting the result into 8 bit values.

 app/operations/gimpoperationblend.c |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)
---
diff --git a/app/operations/gimpoperationblend.c b/app/operations/gimpoperationblend.c
index 5dfff6d..2fc7a42 100644
--- a/app/operations/gimpoperationblend.c
+++ b/app/operations/gimpoperationblend.c
@@ -944,7 +944,11 @@ gradient_put_pixel (gint      x,
       r = color->r + (gdouble) (i & 0xff) / 256.0 / 256.0; i >>= 8;
       g = color->g + (gdouble) (i & 0xff) / 256.0 / 256.0; i >>= 8;
       b = color->b + (gdouble) (i & 0xff) / 256.0 / 256.0; i >>= 8;
-      a = color->a + (gdouble) (i & 0xff) / 256.0 / 256.0;
+
+      if (color->a > 0.0 && color->a < 1.0)
+        a = color->a + (gdouble) (i & 0xff) / 256.0 / 256.0;
+      else
+        a = color->a;
 
       *dest++ = MAX (r, 0.0);
       *dest++ = MAX (g, 0.0);
@@ -1119,7 +1123,11 @@ gimp_operation_blend_process (GeglOperation       *operation,
                     r = color.r + (gdouble) (i & 0xff) / 256.0 / 256.0; i >>= 8;
                     g = color.g + (gdouble) (i & 0xff) / 256.0 / 256.0; i >>= 8;
                     b = color.b + (gdouble) (i & 0xff) / 256.0 / 256.0; i >>= 8;
-                    a = color.a + (gdouble) (i & 0xff) / 256.0 / 256.0;
+
+                    if (color.a > 0.0 && color.a < 1.0)
+                      a = color.a + (gdouble) (i & 0xff) / 256.0 / 256.0;
+                    else
+                      a = color.a;
 
                     *dest++ = MAX (r, 0.0);
                     *dest++ = MAX (g, 0.0);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]