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:
authorPelle Johnsen <>2019-06-04 16:17:23 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2019-06-04 16:24:41 +0300
commitddc19819f33a434997c6670b1eb2ba7f9c4c5b4d (patch)
treee397d4b9d9a4214ba0aa5ff4cda3892b59afab20 /source/blender/editors/object/object_transform.c
parent2fb54ef86e57598e4d27987066db7a06a8269413 (diff)
Fix T60971: Apply visual transform not working
Fix issue with 'apply visual transfrom' not working. Based on fix for https://developer.blender.org/T55494 Reviewers: campbellbarton, sergey Maniphest Tasks: T60971 Differential Revision: https://developer.blender.org/D5007
Diffstat (limited to 'source/blender/editors/object/object_transform.c')
-rw-r--r--source/blender/editors/object/object_transform.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/source/blender/editors/object/object_transform.c b/source/blender/editors/object/object_transform.c
index 263cd5bbda0..86144937844 100644
--- a/source/blender/editors/object/object_transform.c
+++ b/source/blender/editors/object/object_transform.c
@@ -813,13 +813,14 @@ static int apply_objects_internal(bContext *C,
static int visual_transform_apply_exec(bContext *C, wmOperator *UNUSED(op))
{
Scene *scene = CTX_data_scene(C);
- Depsgraph *depsgraph = CTX_data_depsgraph(C);
+ Depsgraph *depsgraph = CTX_data_evaluated_depsgraph(C);
bool changed = false;
CTX_DATA_BEGIN (C, Object *, ob, selected_editable_objects) {
- BKE_object_where_is_calc(depsgraph, scene, ob);
- BKE_object_apply_mat4(ob, ob->obmat, true, true);
- BKE_object_where_is_calc(depsgraph, scene, ob);
+ Object *ob_eval = DEG_get_evaluated_object(depsgraph, ob);
+ BKE_object_where_is_calc(depsgraph, scene, ob_eval);
+ BKE_object_apply_mat4(ob_eval, ob_eval->obmat, true, true);
+ BKE_object_transform_copy(ob, ob_eval);
/* update for any children that may get moved */
DEG_id_tag_update(&ob->id, ID_RECALC_TRANSFORM);