Fix using non-euler cursor orientation

Missed in 06fe2a5e0c5d6
This commit is contained in:
Campbell Barton 2019-05-16 13:48:23 +10:00
parent c9c23a3e44
commit 2896ce7bc7
2 changed files with 5 additions and 2 deletions

@ -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()

@ -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;
}