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:
authorSergey Sharybin <sergey.vfx@gmail.com>2019-07-04 16:15:30 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2019-07-05 17:06:13 +0300
commit599626edd534ad776ab020ca041a8df2fae0980c (patch)
tree291e40bf8ee9104266a92fdec92aba2b06ee6166 /source/blender/editors/transform/transform_conversions.c
parent16307d1e2ae90cc99f4809e5abd710bbc39dc167 (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.c10
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)