Fix T63619: Fill Tool is misaligned when 'Gradient' is enabled
authorPhilipp Oeser <info@graphics-engineer.com>
Tue, 16 Apr 2019 11:36:44 +0000 (13:36 +0200)
committerPhilipp Oeser <info@graphics-engineer.com>
Tue, 16 Apr 2019 12:03:08 +0000 (14:03 +0200)
Reviewers: brecht

Maniphest Tasks: T63619

Differential Revision: https://developer.blender.org/D4692

source/blender/editors/sculpt_paint/paint_image.c

index 0fdd304..91b3744 100644 (file)
@@ -418,6 +418,8 @@ static void gradient_draw_line(bContext *UNUSED(C), int x, int y, void *customda
                GPUVertFormat *format = immVertexFormat();
                uint pos = GPU_vertformat_attr_add(format, "pos", GPU_COMP_I32, 2, GPU_FETCH_INT_TO_FLOAT);
 
+               ARegion *ar = pop->vc.ar;
+
                immBindBuiltinProgram(GPU_SHADER_2D_UNIFORM_COLOR);
 
                GPU_line_width(4.0);
@@ -425,7 +427,7 @@ static void gradient_draw_line(bContext *UNUSED(C), int x, int y, void *customda
 
                immBegin(GPU_PRIM_LINES, 2);
                immVertex2i(pos, x, y);
-               immVertex2i(pos, pop->startmouse[0], pop->startmouse[1]);
+               immVertex2i(pos, pop->startmouse[0] + ar->winrct.xmin, pop->startmouse[1] + ar->winrct.ymin);
                immEnd();
 
                GPU_line_width(2.0);
@@ -433,7 +435,7 @@ static void gradient_draw_line(bContext *UNUSED(C), int x, int y, void *customda
 
                immBegin(GPU_PRIM_LINES, 2);
                immVertex2i(pos, x, y);
-               immVertex2i(pos, pop->startmouse[0], pop->startmouse[1]);
+               immVertex2i(pos, pop->startmouse[0] + ar->winrct.xmin, pop->startmouse[1] + ar->winrct.ymin);
                immEnd();
 
                immUnbindProgram();