Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2021-02-26 08:30:08 +0300
committerCampbell Barton <ideasman42@gmail.com>2021-02-26 08:32:49 +0300
commit9059ee81ef6be5c1eb6157db426165f5a9c2b74a (patch)
treeb89b0ee4801dd962fb3c13baf8135e293d611b2f /source/blender/editors/physics/particle_edit.c
parentb7939a059f9056ae57b4720a4c98dbe9025de407 (diff)
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.
Diffstat (limited to 'source/blender/editors/physics/particle_edit.c')
-rw-r--r--source/blender/editors/physics/particle_edit.c3
1 files changed, 3 insertions, 0 deletions
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;