diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2018-11-27 23:14:35 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2018-11-27 23:17:06 +0300 |
commit | 9d4129eee649a62c5adb130dc1a6ebd6ca405a89 (patch) | |
tree | 94a812a6b2cf0db7128d4b76146f5c57ac7d8004 /source/blender/modifiers/intern/MOD_datatransfer.c | |
parent | 0ebb632f698b3c0fbb7f9f95ccfdf7eb36f13ede (diff) |
Modifiers: fix bunch of missing 'self transform' deg relations.
When a modifier depends on some other object's position, then it also
depends in its own position, this has to be also told to depsgraph.
Fixes several modifiers where moving target would update the modifier,
while moving modified object itself would not.
Diffstat (limited to 'source/blender/modifiers/intern/MOD_datatransfer.c')
-rw-r--r-- | source/blender/modifiers/intern/MOD_datatransfer.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/modifiers/intern/MOD_datatransfer.c b/source/blender/modifiers/intern/MOD_datatransfer.c index d3f573ec4b6..d3c0dd783cc 100644 --- a/source/blender/modifiers/intern/MOD_datatransfer.c +++ b/source/blender/modifiers/intern/MOD_datatransfer.c @@ -132,6 +132,11 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte CustomDataMask mask = BKE_object_data_transfer_dttypes_to_cdmask(dtmd->data_types); DEG_add_object_relation_with_customdata(ctx->node, dtmd->ob_source, DEG_OB_COMP_GEOMETRY, mask, "DataTransfer Modifier"); + + if (dtmd->flags & MOD_DATATRANSFER_OBSRC_TRANSFORM) { + DEG_add_object_relation(ctx->node, dtmd->ob_source, DEG_OB_COMP_TRANSFORM, "DataTransfer Modifier"); + DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "DataTransfer Modifier"); + } } } |