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:
authorBastien Montagne <montagne29@wanadoo.fr>2018-06-15 13:17:26 +0300
committerBastien Montagne <montagne29@wanadoo.fr>2018-06-15 13:17:26 +0300
commit995a1815f5fd396846f570da761c07e5a09532f2 (patch)
tree21cf8ffabb968f4f4ef09bd5ba598f36ea6b5582 /source/blender/blenkernel/intern/object_update.c
parent76bc8669a0fd469efa1c19cd461bcaf21cf0d5be (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.c6
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;