diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2018-06-15 13:17:26 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2018-06-15 13:17:26 +0300 |
commit | 995a1815f5fd396846f570da761c07e5a09532f2 (patch) | |
tree | 21cf8ffabb968f4f4ef09bd5ba598f36ea6b5582 /source/blender/blenkernel/intern/object_update.c | |
parent | 76bc8669a0fd469efa1c19cd461bcaf21cf0d5be (diff) |
Fix T55408: Double transforms on parents/children.
object.base_flag was not synced back from evaluated ID to original one.
Similar thing as copying back to original transform matrix, avoids
having to get data from evaluated one in lots of cases.
Diffstat (limited to 'source/blender/blenkernel/intern/object_update.c')
-rw-r--r-- | source/blender/blenkernel/intern/object_update.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/object_update.c b/source/blender/blenkernel/intern/object_update.c index c1bda070bd8..4c38940b11d 100644 --- a/source/blender/blenkernel/intern/object_update.c +++ b/source/blender/blenkernel/intern/object_update.c @@ -404,6 +404,12 @@ void BKE_object_eval_flush_base_flags(Depsgraph *depsgraph, object->base_flag &= ~(BASE_SELECTED | BASE_SELECTABLED); } + /* Copy to original object datablock if needed. */ + if (DEG_is_active(depsgraph)) { + Object *object_orig = DEG_get_original_object(object); + object_orig->base_flag = object->base_flag; + } + if (object->mode == OB_MODE_PARTICLE_EDIT) { for (ParticleSystem *psys = object->particlesystem.first; psys != NULL; |