[Bf-blender-cvs] [db4571f3c33] master: Fix T68645: Hair Particle Edit - Particle Mirror crash when children are visible in the viewport

Philipp Oeser noreply at git.blender.org
Thu Sep 26 17:38:47 CEST 2019


Commit: db4571f3c331b635a10c2804360cb9403420d3c7
Author: Philipp Oeser
Date:   Wed Sep 11 13:33:29 2019 +0200
Branches: master
https://developer.blender.org/rBdb4571f3c331b635a10c2804360cb9403420d3c7

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

===================================================================

M	source/blender/editors/physics/particle_edit.c

===================================================================

diff --git a/source/blender/editors/physics/particle_edit.c b/source/blender/editors/physics/particle_edit.c
index 1e6ff163225..1e2722ae776 100644
--- a/source/blender/editors/physics/particle_edit.c
+++ b/source/blender/editors/physics/particle_edit.c
@@ -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;



More information about the Bf-blender-cvs mailing list