Drivers: fix transform channel panel for W rotation and quaternions.

This commit is contained in:
Alexander Gavrilov 2019-09-28 10:31:51 +03:00
parent 775a13dea0
commit 7ea1b8451e
Notes: blender-bot 2023-07-10 10:12:37 +02:00
Referenced by issue #70321, blender with `--debug-gpu-force-workarounds` crashes
1 changed files with 11 additions and 3 deletions

View File

@ -862,7 +862,11 @@ static void graph_panel_driverVar__transChan(uiLayout *layout, ID *id, DriverVar
sub = uiLayoutColumn(layout, true);
uiItemR(sub, &dtar_ptr, "transform_type", 0, NULL, ICON_NONE);
if (ELEM(dtar->transChan, DTAR_TRANSCHAN_ROTX, DTAR_TRANSCHAN_ROTY, DTAR_TRANSCHAN_ROTZ)) {
if (ELEM(dtar->transChan,
DTAR_TRANSCHAN_ROTX,
DTAR_TRANSCHAN_ROTY,
DTAR_TRANSCHAN_ROTZ,
DTAR_TRANSCHAN_ROTW)) {
uiItemR(sub, &dtar_ptr, "rotation_mode", 0, IFACE_("Mode"), ICON_NONE);
}
@ -1152,8 +1156,12 @@ static void graph_draw_driver_settings_panel(uiLayout *layout,
if ((dvar->type == DVAR_TYPE_ROT_DIFF) ||
(dvar->type == DVAR_TYPE_TRANSFORM_CHAN &&
dvar->targets[0].transChan >= DTAR_TRANSCHAN_ROTX &&
dvar->targets[0].transChan < DTAR_TRANSCHAN_SCALEX)) {
ELEM(dvar->targets[0].transChan,
DTAR_TRANSCHAN_ROTX,
DTAR_TRANSCHAN_ROTY,
DTAR_TRANSCHAN_ROTZ,
DTAR_TRANSCHAN_ROTW) &&
dvar->targets[0].rotation_mode != DTAR_ROTMODE_QUATERNION)) {
BLI_snprintf(
valBuf, sizeof(valBuf), "%.3f (%4.1f°)", dvar->curval, RAD2DEGF(dvar->curval));
}