[Bf-blender-cvs] [01a0699cdc8] cycles_texture_cache: Fix T88005: GPencil inverse fill leaves unwanted line at viewport edge.

Antonio Vazquez noreply at git.blender.org
Thu May 6 11:25:38 CEST 2021


Commit: 01a0699cdc893b5c2df7935ad36c376355d21817
Author: Antonio Vazquez
Date:   Mon May 3 17:10:13 2021 +0200
Branches: cycles_texture_cache
https://developer.blender.org/rB01a0699cdc893b5c2df7935ad36c376355d21817

Fix T88005: GPencil inverse fill leaves unwanted line at viewport edge.

There was a function to set 2 pixels wide for inverse filling, but this must not be done in the borders of the image.

Now, the borders are checked before set 2 pixels.

===================================================================

M	source/blender/editors/gpencil/gpencil_fill.c

===================================================================

diff --git a/source/blender/editors/gpencil/gpencil_fill.c b/source/blender/editors/gpencil/gpencil_fill.c
index 3f86e5474c5..bb0a2916d2d 100644
--- a/source/blender/editors/gpencil/gpencil_fill.c
+++ b/source/blender/editors/gpencil/gpencil_fill.c
@@ -1029,9 +1029,15 @@ static void gpencil_invert_image(tGPDfill *tgpf)
     /* Red->Green */
     else if (color[0] == 1.0f) {
       set_pixel(ibuf, v, fill_col[1]);
-      /* Add thickness of 2 pixels to avoid too thin lines. */
-      int offset = (v % ibuf->x < center) ? 1 : -1;
-      set_pixel(ibuf, v + offset, fill_col[1]);
+      /* Add thickness of 2 pixels to avoid too thin lines, but avoid extremes of the pixel line.
+       */
+      int row = v / ibuf->x;
+      int lowpix = row * ibuf->x;
+      int highpix = lowpix + ibuf->x - 1;
+      if ((v > lowpix) && (v < highpix)) {
+        int offset = (v % ibuf->x < center) ? 1 : -1;
+        set_pixel(ibuf, v + offset, fill_col[1]);
+      }
     }
     else {
       /* Set to Transparent. */



More information about the Bf-blender-cvs mailing list