From 995a1815f5fd396846f570da761c07e5a09532f2 Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Fri, 15 Jun 2018 12:17:26 +0200 Subject: [PATCH] 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. --- source/blender/blenkernel/intern/object_update.c | 6 ++++++ 1 file changed, 6 insertions(+) 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;