diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-03-27 04:01:35 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-03-27 04:01:35 +0400 |
commit | ca05219f3ec3574d2e1cb9c8eaa2790f685f26bb (patch) | |
tree | b4cfdda1c423fe0552f024c06363272c5f3d8eff /source/blender/blenkernel/intern/depsgraph.c | |
parent | 4d802ff682b81143012d9a10cf6a58322dd18d89 (diff) |
fix [#30651] bpy.ops.object.mode_set(...) editmode removes faces.
problem was that BMesh had tessellation call when undo pushes were called.
if python called an operator with no undo push, tessfaces would not be created.
fix this by making it the responsibility of each editmesh operator to re-tessellate, as it is with notifiers and depsgraph.
added EDBM_update_generic() function to add notifier, tag for depsgraph update and optionally re-tessellate.
Diffstat (limited to 'source/blender/blenkernel/intern/depsgraph.c')
-rw-r--r-- | source/blender/blenkernel/intern/depsgraph.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/depsgraph.c b/source/blender/blenkernel/intern/depsgraph.c index 783652e9a75..a1a2465ceac 100644 --- a/source/blender/blenkernel/intern/depsgraph.c +++ b/source/blender/blenkernel/intern/depsgraph.c @@ -2716,7 +2716,6 @@ void DAG_id_tag_update(ID *id, short flag) /* flag is for objects and particle systems */ if (flag) { Object *ob; - ParticleSystem *psys; short idtype = GS(id->name); if (idtype == ID_OB) { @@ -2725,6 +2724,7 @@ void DAG_id_tag_update(ID *id, short flag) ob->recalc |= (flag & OB_RECALC_ALL); } else if (idtype == ID_PA) { + ParticleSystem *psys; /* this is weak still, should be done delayed as well */ for (ob=bmain->object.first; ob; ob=ob->id.next) { for (psys=ob->particlesystem.first; psys; psys=psys->next) { |