From 9059ee81ef6be5c1eb6157db426165f5a9c2b74a Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 26 Feb 2021 16:30:08 +1100 Subject: Fix particle-edit crash on undo/redo Undo/redo was crashing & asserting. There ware two bugs: - Entering particle system edit-mode requires an evaluated depsgraph. - The active object could get out of sync when undo/redo moves between different modes. The new test 'view3d_mesh_particle_edit_mode_simple' in `tests/ui_simulate/test_undo.py` exposes both issues. --- source/blender/editors/physics/particle_edit.c | 3 +++ 1 file changed, 3 insertions(+) (limited to '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 ec3eb9c6a3a..d0ebac82c90 100644 --- a/source/blender/editors/physics/particle_edit.c +++ b/source/blender/editors/physics/particle_edit.c @@ -5395,6 +5395,9 @@ static void free_all_psys_edit(Object *object) void ED_object_particle_edit_mode_enter_ex(Depsgraph *depsgraph, Scene *scene, Object *ob) { + /* Needed so #ParticleSystemModifierData.mesh_final is set. */ + BKE_scene_graph_evaluated_ensure(depsgraph, G_MAIN); + PTCacheEdit *edit; ob->mode |= OB_MODE_PARTICLE_EDIT; -- cgit v1.2.3