[Bf-blender-cvs] [599626edd53] master: Fix T64342: Incorrect snapping of focus object in camera view
Sergey Sharybin
noreply at git.blender.org
Fri Jul 5 16:09:15 CEST 2019
Commit: 599626edd534ad776ab020ca041a8df2fae0980c
Author: Sergey Sharybin
Date: Thu Jul 4 15:15:30 2019 +0200
Branches: master
https://developer.blender.org/rB599626edd534ad776ab020ca041a8df2fae0980c
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
===================================================================
M source/blender/editors/transform/transform_conversions.c
===================================================================
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)
More information about the Bf-blender-cvs
mailing list