[gimp/gimp-2-10] plug-ins: replace gimp_drawable_get_color_uchar() by manual code



commit 5ed0a6dab0cbcd5ecfef778772c41624aab5ae29
Author: Michael Natterer <mitch gimp org>
Date:   Thu Jun 27 13:37:04 2019 +0200

    plug-ins: replace gimp_drawable_get_color_uchar() by manual code
    
    (cherry picked from commit 4c7a43d23476564f9437e7df66610bb861e3fc94)

 plug-ins/common/checkerboard.c | 22 ++++++++++++++++++++--
 1 file changed, 20 insertions(+), 2 deletions(-)
---
diff --git a/plug-ins/common/checkerboard.c b/plug-ins/common/checkerboard.c
index 4149013871..1edae9c2a7 100644
--- a/plug-ins/common/checkerboard.c
+++ b/plug-ins/common/checkerboard.c
@@ -227,10 +227,28 @@ do_checkerboard_pattern (GimpDrawable *drawable,
   GimpRGB              color;
 
   gimp_context_get_background (&color);
-  gimp_drawable_get_color_uchar (drawable->drawable_id, &color, param.bg);
+  if (gimp_drawable_is_gray (drawable->drawable_id))
+    {
+      param.bg[0] = gimp_rgb_luminance_uchar (&color);
+      gimp_rgba_get_uchar (&color, NULL, NULL, NULL, param.bg + 3);
+    }
+  else
+    {
+      gimp_rgba_get_uchar (&color,
+                           param.bg, param.bg + 1, param.bg + 2, param.bg + 3);
+    }
 
   gimp_context_get_foreground (&color);
-  gimp_drawable_get_color_uchar (drawable->drawable_id, &color, param.fg);
+  if (gimp_drawable_is_gray (drawable->drawable_id))
+    {
+      param.fg[0] = gimp_rgb_luminance_uchar (&color);
+      gimp_rgba_get_uchar (&color, NULL, NULL, NULL, param.fg + 3);
+    }
+  else
+    {
+      gimp_rgba_get_uchar (&color,
+                           param.fg, param.fg + 1, param.fg + 2, param.fg + 3);
+    }
 
   if (cvals.size < 1)
     {


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