Commit: aa436eecd0d426247f3eebdacc3dacd84b0631f9
Author: Campbell Barton
Date: Thu Apr 13 01:20:02 2017 +1000
Branches: soc-2016-pbvh-painting
https://developer.blender.org/rBaa436eecd0d426247f3eebdacc3dacd84b0631f9
Fix crash when use_group_restrict is disabled
===================================================================
M source/blender/editors/sculpt_paint/paint_vertex.c
===================================================================
diff --git a/source/blender/editors/sculpt_paint/paint_vertex.c
b/source/blender/editors/sculpt_paint/paint_vertex.c
index 531c4e4c6c7..26ec13e99a2 100644
--- a/source/blender/editors/sculpt_paint/paint_vertex.c
+++ b/source/blender/editors/sculpt_paint/paint_vertex.c
@@ -2568,37 +2568,28 @@ static void do_wpaint_brush_draw_task_cb_ex(
if (view_dot > 0.0f) {
const float brush_fade =
BKE_brush_curve_strength(brush, sqrtf(test.dist), cache->radius);
float final_alpha = view_dot *
brush_fade * brush_strength * grid_alpha * brush_alpha_pressure;
- float weight_curr;
/* Spray logic */
- if (!(data->vp->flag & VP_SPRAY)) {
+ if ((data->vp->flag & VP_SPRAY) == 0) {
MDeformVert *dv =
&data->me->dvert[v_index];
const MDeformWeight *dw;
dw = (data->vp->flag &
VP_ONLYVGROUP) ?
defvert_find_index(dv,
data->wpi->active.index) :
defvert_verify_index(dv, data->wpi->active.index);
- weight_curr = dw->weight;
+ const float weight_curr =
dw->weight;
if
(ss->modes.vwpaint.max_weight[v_index] < 0) {
-
ss->modes.vwpaint.max_weight[v_index] = min_ff(brush_strength + dw->weight,
1.0f);
+
ss->modes.vwpaint.max_weight[v_index] = min_ff(brush_strength + weight_curr,
1.0f);
}
- CLAMP(final_alpha, 0.0,
ss->modes.vwpaint.max_weight[v_index] - dw->weight);
- }
+ CLAMP(final_alpha, 0.0,
ss->modes.vwpaint.max_weight[v_index] - weight_curr);
- /* Splash Prevention */
- switch (data->vp->flag) {
- case VP_SPRAY:
- if (weight_curr <
ss->modes.vwpaint.max_weight[v_index]) {
-
do_weight_paint_vertex(
-
data->vp, data->ob, data->wpi,
-
v_index, final_alpha, paintweight);
- }
- break;
- default:
- do_weight_paint_vertex(
- data->vp,
data->ob, data->wpi,
- v_index,
final_alpha, paintweight);
- break;
+ if (weight_curr >=
ss->modes.vwpaint.max_weight[v_index]) {
+ continue;
+ }
}
+
+ do_weight_paint_vertex(
+ data->vp, data->ob, data->wpi,
+ v_index, final_alpha,
paintweight);
}
}
}
@@ -2633,7 +2624,7 @@ static void do_wpaint_brush_calc_ave_weight_cb_ex(
const float view_dot = (vd.no) ?
dot_vf3vs3(cache->sculpt_normal_symm, vd.no) : 1.0;
if (view_dot > 0.0 &&
BKE_brush_curve_strength(data->brush, sqrtf(test.dist), cache->radius) > 0.0) {
const int v_index = ccgdm ?
data->me->mloop[vd.grid_indices[vd.g]].v : vd.vert_indices[vd.i];
- const float grid_alpha = ccgdm ? 1.0f /
vd.gridsize : 1.0f;
+ // const float grid_alpha = ccgdm ? 1.0f /
vd.gridsize : 1.0f;
const char v_flag =
data->me->mvert[v_index].flag;
/* If the vertex is selected. */
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs