diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2019-07-04 16:15:30 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2019-07-05 17:06:13 +0300 |
commit | 599626edd534ad776ab020ca041a8df2fae0980c (patch) | |
tree | 291e40bf8ee9104266a92fdec92aba2b06ee6166 /source/blender/editors/transform/transform_conversions.c | |
parent | 16307d1e2ae90cc99f4809e5abd710bbc39dc167 (diff) |
Fix T64342: Incorrect snapping of focus object in camera view
Use more granular dependency graph traversal, which allows to ignore
dependencies which are not related on transform.
Reviewers: mano-wii, brecht
Differential Revision: https://developer.blender.org/D5184
Diffstat (limited to 'source/blender/editors/transform/transform_conversions.c')
-rw-r--r-- | source/blender/editors/transform/transform_conversions.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c index 95c2f088e5d..4ab787d8a74 100644 --- a/source/blender/editors/transform/transform_conversions.c +++ b/source/blender/editors/transform/transform_conversions.c @@ -6443,19 +6443,25 @@ static void trans_object_base_deps_flag_prepare(ViewLayer *view_layer) } } -static void set_trans_object_base_deps_flag_cb(ID *id, void *UNUSED(user_data)) +static void set_trans_object_base_deps_flag_cb(ID *id, + eDepsObjectComponentType component, + void *UNUSED(user_data)) { /* Here we only handle object IDs. */ if (GS(id->name) != ID_OB) { return; } + if (component != DEG_OB_COMP_TRANSFORM) { + return; + } id->tag |= LIB_TAG_DOIT; } static void flush_trans_object_base_deps_flag(Depsgraph *depsgraph, Object *object) { object->id.tag |= LIB_TAG_DOIT; - DEG_foreach_dependent_ID(depsgraph, &object->id, set_trans_object_base_deps_flag_cb, NULL); + DEG_foreach_dependent_ID_component( + depsgraph, &object->id, DEG_OB_COMP_TRANSFORM, set_trans_object_base_deps_flag_cb, NULL); } static void trans_object_base_deps_flag_finish(ViewLayer *view_layer) |