GPencil: Fix unreported wrong Sculpt brushes initialization in Templates
The Sculpt brushes were not properly initialized when use 2D template or other templates. Also, using the default template (not factory settings) could be situations where the brushes were not updated. This problem was introduced when some versioning code was removed in order to avoid duplicated brush creation.
This commit is contained in:
parent
691a1e3357
commit
ec26260132
|
@ -463,6 +463,9 @@ void BLO_update_defaults_startup_blend(Main *bmain, const char *app_template)
|
|||
/* Reset all grease pencil brushes. */
|
||||
Scene *scene = bmain->scenes.first;
|
||||
BKE_brush_gpencil_paint_presets(bmain, scene->toolsettings, true);
|
||||
BKE_brush_gpencil_sculpt_presets(bmain, scene->toolsettings, true);
|
||||
BKE_brush_gpencil_vertex_presets(bmain, scene->toolsettings, true);
|
||||
BKE_brush_gpencil_weight_presets(bmain, scene->toolsettings, true);
|
||||
|
||||
/* Ensure new Paint modes. */
|
||||
BKE_paint_ensure_from_paintmode(scene, PAINT_MODE_VERTEX_GPENCIL);
|
||||
|
|
|
@ -353,7 +353,7 @@ static int gpencil_paintmode_toggle_exec(bContext *C, wmOperator *op)
|
|||
|
||||
if (mode == OB_MODE_PAINT_GPENCIL) {
|
||||
/* Be sure we have brushes and Paint settings.
|
||||
* Need Draw and Vertex (used fro Tint). */
|
||||
* Need Draw and Vertex (used for Tint). */
|
||||
BKE_paint_ensure(ts, (Paint **)&ts->gp_paint);
|
||||
BKE_paint_ensure(ts, (Paint **)&ts->gp_vertexpaint);
|
||||
|
||||
|
@ -464,11 +464,13 @@ static int gpencil_sculptmode_toggle_exec(bContext *C, wmOperator *op)
|
|||
}
|
||||
|
||||
if (mode == OB_MODE_SCULPT_GPENCIL) {
|
||||
/* be sure we have brushes */
|
||||
/* Be sure we have brushes. */
|
||||
BKE_paint_ensure(ts, (Paint **)&ts->gp_sculptpaint);
|
||||
BKE_paint_toolslots_brush_validate(bmain, &ts->gp_sculptpaint->paint);
|
||||
|
||||
BKE_brush_gpencil_sculpt_presets(bmain, ts, false);
|
||||
const bool reset_mode = (ts->gp_sculptpaint->paint.brush == NULL);
|
||||
BKE_brush_gpencil_sculpt_presets(bmain, ts, reset_mode);
|
||||
|
||||
BKE_paint_toolslots_brush_validate(bmain, &ts->gp_sculptpaint->paint);
|
||||
}
|
||||
|
||||
/* setup other modes */
|
||||
|
@ -565,11 +567,13 @@ static int gpencil_weightmode_toggle_exec(bContext *C, wmOperator *op)
|
|||
}
|
||||
|
||||
if (mode == OB_MODE_WEIGHT_GPENCIL) {
|
||||
/* be sure we have brushes */
|
||||
/* Be sure we have brushes. */
|
||||
BKE_paint_ensure(ts, (Paint **)&ts->gp_weightpaint);
|
||||
BKE_paint_toolslots_brush_validate(bmain, &ts->gp_weightpaint->paint);
|
||||
|
||||
BKE_brush_gpencil_weight_presets(bmain, ts, false);
|
||||
const bool reset_mode = (ts->gp_weightpaint->paint.brush == NULL);
|
||||
BKE_brush_gpencil_weight_presets(bmain, ts, reset_mode);
|
||||
|
||||
BKE_paint_toolslots_brush_validate(bmain, &ts->gp_weightpaint->paint);
|
||||
}
|
||||
|
||||
/* setup other modes */
|
||||
|
@ -665,11 +669,13 @@ static int gpencil_vertexmode_toggle_exec(bContext *C, wmOperator *op)
|
|||
}
|
||||
|
||||
if (mode == OB_MODE_VERTEX_GPENCIL) {
|
||||
/* be sure we have brushes */
|
||||
/* Be sure we have brushes. */
|
||||
BKE_paint_ensure(ts, (Paint **)&ts->gp_vertexpaint);
|
||||
BKE_paint_toolslots_brush_validate(bmain, &ts->gp_vertexpaint->paint);
|
||||
|
||||
BKE_brush_gpencil_vertex_presets(bmain, ts, false);
|
||||
const bool reset_mode = (ts->gp_vertexpaint->paint.brush == NULL);
|
||||
BKE_brush_gpencil_vertex_presets(bmain, ts, reset_mode);
|
||||
|
||||
BKE_paint_toolslots_brush_validate(bmain, &ts->gp_vertexpaint->paint);
|
||||
|
||||
/* Ensure Palette by default. */
|
||||
BKE_gpencil_palette_ensure(bmain, CTX_data_scene(C));
|
||||
|
|
Loading…
Reference in New Issue