diff options
author | Campbell Barton <ideasman42@gmail.com> | 2019-05-16 06:48:23 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2019-05-16 06:50:00 +0300 |
commit | 2896ce7bc793908f2ee054c2c5e1f58e9c6e8dce (patch) | |
tree | e033f2689f1bca24f75da25b99b6b96c9c219109 | |
parent | c9c23a3e44c0648d37396bbb19236e881d33e2cc (diff) |
Fix using non-euler cursor orientation
Missed in 06fe2a5e0c5d6
-rw-r--r-- | release/scripts/modules/bpy_extras/object_utils.py | 3 | ||||
-rw-r--r-- | source/blender/editors/object/object_add.c | 4 |
2 files changed, 5 insertions, 2 deletions
diff --git a/release/scripts/modules/bpy_extras/object_utils.py b/release/scripts/modules/bpy_extras/object_utils.py index 48cdbb41c50..3a751a7b907 100644 --- a/release/scripts/modules/bpy_extras/object_utils.py +++ b/release/scripts/modules/bpy_extras/object_utils.py @@ -80,7 +80,8 @@ def add_object_align_init(context, operator): rotation.resize_4x4() properties.rotation = rotation.to_euler() elif properties.align == 'CURSOR': - rotation = context.scene.cursor.rotation_euler.to_matrix().to_4x4() + rotation = context.scene.cursor.matrix + rotation.col[3][0:3] = 0.0, 0.0, 0.0 properties.rotation = rotation.to_euler() else: rotation = properties.rotation.to_matrix().to_4x4() diff --git a/source/blender/editors/object/object_add.c b/source/blender/editors/object/object_add.c index f8760f93f2f..3af05970038 100644 --- a/source/blender/editors/object/object_add.c +++ b/source/blender/editors/object/object_add.c @@ -435,7 +435,9 @@ bool ED_object_add_generic_get_opts(bContext *C, break; case ALIGN_CURSOR: { const Scene *scene = CTX_data_scene(C); - copy_v3_v3(rot, scene->cursor.rotation_euler); + float tmat[3][3]; + BKE_scene_cursor_rot_to_mat3(&scene->cursor, tmat); + mat3_normalized_to_eul(rot, tmat); RNA_float_set_array(op->ptr, "rotation", rot); break; } |