Fix T68645: Hair Particle Edit - Particle Mirror crash when children are

visible in the viewport

Seems to be an issue of not correctly freeing the PTCacheEdit (see
T68645 for details), after discussion with sergey we went with the quick
and dirty fix to free the path cache early for now. Other solution of
freeing it in 'psys_cache_paths' for the non-evaluated psys [which would
also fix the particle delete, then undo crash from T69000] needs more
deep investigation and, possibly, reconsideration.

Reviewers: sergey

Maniphest Tasks: T68645

Differential Revision: https://developer.blender.org/D5755
This commit is contained in:
Philipp Oeser 2019-09-11 13:33:29 +02:00
parent cf2c09002f
commit db4571f3c3
Notes: blender-bot 2023-02-14 01:14:30 +01:00
Referenced by issue #68645, Hair Particle Edit - Particle Mirror Crash when children are visible in the viewport
1 changed files with 3 additions and 0 deletions

View File

@ -3539,7 +3539,10 @@ static int mirror_exec(bContext *C, wmOperator *UNUSED(op))
PE_mirror_x(depsgraph, scene, ob, 0);
update_world_cos(ob, edit);
psys_free_path_cache(NULL, edit);
WM_event_add_notifier(C, NC_OBJECT | ND_PARTICLE | NA_EDITED, ob);
BKE_particle_batch_cache_dirty_tag(edit->psys, BKE_PARTICLE_BATCH_DIRTY_ALL);
DEG_id_tag_update(&ob->id, ID_RECALC_GEOMETRY);
return OPERATOR_FINISHED;