Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFalk David <falkdavid@gmx.de>2021-02-01 18:25:44 +0300
committerFalk David <falkdavid@gmx.de>2021-02-01 18:26:31 +0300
commit006e70dbd7e29c105809eded93169754ade03de5 (patch)
treebf40ac50199d818b7a013d6ad2f9e2d0ea6f7fd0 /source/blender/editors/gpencil/gpencil_paint.c
parentc02f2d7371a11d1d0c575b42dc7dd790926a0877 (diff)
Fix T85203: GPencil: Drawing on locked axis plane
Drawing on e.g. the X-Z plane was broken due to an earlier commit (rBef28da262342). This was causing the projection when drawing on an axis plane to fail. The fix checks that the user is in view plane projection mode. Reviewed By: antoniov Maniphest Tasks: T85203 Differential Revision: https://developer.blender.org/D10252
Diffstat (limited to 'source/blender/editors/gpencil/gpencil_paint.c')
-rw-r--r--source/blender/editors/gpencil/gpencil_paint.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/source/blender/editors/gpencil/gpencil_paint.c b/source/blender/editors/gpencil/gpencil_paint.c
index fcdada1e673..ed56f004ca4 100644
--- a/source/blender/editors/gpencil/gpencil_paint.c
+++ b/source/blender/editors/gpencil/gpencil_paint.c
@@ -937,10 +937,10 @@ static void gpencil_stroke_newfrombuffer(tGPsdata *p)
RegionView3D *rv3d = p->region->regiondata;
const int def_nr = obact->actdef - 1;
const bool have_weight = (bool)BLI_findlink(&obact->defbase, def_nr);
- const char *align_flag = &ts->gpencil_v3d_align;
- const bool is_depth = (bool)(*align_flag & (GP_PROJECT_DEPTH_VIEW | GP_PROJECT_DEPTH_STROKE));
- const bool is_camera = (bool)(ts->gp_sculpt.lock_axis == 0) && (rv3d->persp == RV3D_CAMOB) &&
- (!is_depth);
+ const char align_flag = ts->gpencil_v3d_align;
+ const bool is_depth = (bool)(align_flag & (GP_PROJECT_DEPTH_VIEW | GP_PROJECT_DEPTH_STROKE));
+ const bool is_lock_axis_view = (bool)(ts->gp_sculpt.lock_axis == 0);
+ const bool is_camera = is_lock_axis_view && (rv3d->persp == RV3D_CAMOB) && (!is_depth);
int totelem;
/* For very low pressure at the end, truncate stroke. */
@@ -1085,7 +1085,7 @@ static void gpencil_stroke_newfrombuffer(tGPsdata *p)
}
/* If camera view or view projection, reproject flat to view to avoid perspective effect. */
- if ((*p->align_flag & GP_PROJECT_VIEWSPACE) || is_camera) {
+ if (((align_flag & GP_PROJECT_VIEWSPACE) && is_lock_axis_view) || is_camera) {
ED_gpencil_project_stroke_to_view(p->C, p->gpl, gps);
}
}
@@ -1234,7 +1234,7 @@ static void gpencil_stroke_newfrombuffer(tGPsdata *p)
/* change position relative to parent object */
gpencil_apply_parent(depsgraph, obact, gpl, gps);
/* If camera view or view projection, reproject flat to view to avoid perspective effect. */
- if ((*p->align_flag & GP_PROJECT_VIEWSPACE) || is_camera) {
+ if (((align_flag & GP_PROJECT_VIEWSPACE) && is_lock_axis_view) || is_camera) {
ED_gpencil_project_stroke_to_view(p->C, p->gpl, gps);
}