forked from bartvdbraak/blender
Fix #33345: Crash when using bpy.ops.sculpt.brush_stroke
It was kind of a regression in behavior in svn rev46862 which made it so blender crashes if stroke is done from the script. It should bring back the behavior back and made it so blender doesn't crash, however it's probably not full fix and some further work is needed to make call of stroke operator usable from the addon.
This commit is contained in:
parent
186bdbd8d8
commit
4e981dc566
@ -3356,7 +3356,10 @@ static void sculpt_update_cache_invariants(bContext *C, Sculpt *sd, SculptSessio
|
|||||||
sculpt_init_mirror_clipping(ob, ss);
|
sculpt_init_mirror_clipping(ob, ss);
|
||||||
|
|
||||||
/* Initial mouse location */
|
/* Initial mouse location */
|
||||||
copy_v2_v2(ss->cache->initial_mouse, mouse);
|
if (mouse)
|
||||||
|
copy_v2_v2(ss->cache->initial_mouse, mouse);
|
||||||
|
else
|
||||||
|
zero_v2(ss->cache->initial_mouse);
|
||||||
|
|
||||||
mode = RNA_enum_get(op->ptr, "mode");
|
mode = RNA_enum_get(op->ptr, "mode");
|
||||||
cache->invert = mode == BRUSH_STROKE_INVERT;
|
cache->invert = mode == BRUSH_STROKE_INVERT;
|
||||||
@ -3890,8 +3893,8 @@ static int sculpt_stroke_test_start(bContext *C, struct wmOperator *op,
|
|||||||
const float mouse[2])
|
const float mouse[2])
|
||||||
{
|
{
|
||||||
/* Don't start the stroke until mouse goes over the mesh.
|
/* Don't start the stroke until mouse goes over the mesh.
|
||||||
* note: event will only be null when re-executing the saved stroke. */
|
* note: mouse will only be null when re-executing the saved stroke. */
|
||||||
if (over_mesh(C, op, mouse[0], mouse[1])) {
|
if (!mouse || over_mesh(C, op, mouse[0], mouse[1])) {
|
||||||
Object *ob = CTX_data_active_object(C);
|
Object *ob = CTX_data_active_object(C);
|
||||||
SculptSession *ss = ob->sculpt;
|
SculptSession *ss = ob->sculpt;
|
||||||
Sculpt *sd = CTX_data_tool_settings(C)->sculpt;
|
Sculpt *sd = CTX_data_tool_settings(C)->sculpt;
|
||||||
|
Loading…
Reference in New Issue
Block a user