Fix tool fallback being ignored with transform gizmos
This only worked once the gizmo was displayed.
This commit is contained in:
@@ -1743,6 +1743,13 @@ static void WIDGETGROUP_gizmo_refresh(const bContext *C, wmGizmoGroup *gzgroup)
|
||||
RegionView3D *rv3d = ar->regiondata;
|
||||
struct TransformBounds tbounds;
|
||||
|
||||
if (scene->toolsettings->workspace_tool_type == SCE_WORKSPACE_TOOL_FALLBACK) {
|
||||
gzgroup->use_fallback_keymap = true;
|
||||
}
|
||||
else {
|
||||
gzgroup->use_fallback_keymap = false;
|
||||
}
|
||||
|
||||
if (ggd->use_twtype_refresh) {
|
||||
ggd->twtype = v3d->gizmo_show_object & ggd->twtype_init;
|
||||
if (ggd->twtype != ggd->twtype_prev) {
|
||||
@@ -1829,13 +1836,6 @@ static void WIDGETGROUP_gizmo_refresh(const bContext *C, wmGizmoGroup *gzgroup)
|
||||
for (int i = MAN_AXIS_RANGE_ROT_START; i < MAN_AXIS_RANGE_ROT_END; i++) {
|
||||
ggd->gizmos[i]->select_bias = rotate_select_bias;
|
||||
}
|
||||
|
||||
if (scene->toolsettings->workspace_tool_type == SCE_WORKSPACE_TOOL_FALLBACK) {
|
||||
gzgroup->use_fallback_keymap = true;
|
||||
}
|
||||
else {
|
||||
gzgroup->use_fallback_keymap = false;
|
||||
}
|
||||
}
|
||||
|
||||
static void WIDGETGROUP_gizmo_message_subscribe(const bContext *C,
|
||||
@@ -2176,6 +2176,13 @@ static void WIDGETGROUP_xform_cage_refresh(const bContext *C, wmGizmoGroup *gzgr
|
||||
|
||||
struct TransformBounds tbounds;
|
||||
|
||||
if (scene->toolsettings->workspace_tool_type == SCE_WORKSPACE_TOOL_FALLBACK) {
|
||||
gzgroup->use_fallback_keymap = true;
|
||||
}
|
||||
else {
|
||||
gzgroup->use_fallback_keymap = false;
|
||||
}
|
||||
|
||||
const TransformOrientationSlot *orient_slot = BKE_scene_orientation_slot_get(scene,
|
||||
SCE_ORIENT_SCALE);
|
||||
|
||||
@@ -2231,13 +2238,6 @@ static void WIDGETGROUP_xform_cage_refresh(const bContext *C, wmGizmoGroup *gzgr
|
||||
|
||||
/* Needed to test view orientation changes. */
|
||||
copy_m3_m4(xgzgroup->prev.viewinv_m3, rv3d->viewinv);
|
||||
|
||||
if (scene->toolsettings->workspace_tool_type == SCE_WORKSPACE_TOOL_FALLBACK) {
|
||||
gzgroup->use_fallback_keymap = true;
|
||||
}
|
||||
else {
|
||||
gzgroup->use_fallback_keymap = false;
|
||||
}
|
||||
}
|
||||
|
||||
static void WIDGETGROUP_xform_cage_message_subscribe(const bContext *C,
|
||||
@@ -2388,6 +2388,16 @@ static void WIDGETGROUP_xform_shear_refresh(const bContext *C, wmGizmoGroup *gzg
|
||||
struct XFormShearWidgetGroup *xgzgroup = gzgroup->customdata;
|
||||
struct TransformBounds tbounds;
|
||||
|
||||
if (scene->toolsettings->workspace_tool_type == SCE_WORKSPACE_TOOL_FALLBACK) {
|
||||
gzgroup->use_fallback_keymap = true;
|
||||
}
|
||||
else {
|
||||
gzgroup->use_fallback_keymap = false;
|
||||
}
|
||||
|
||||
/* Needed to test view orientation changes. */
|
||||
copy_m3_m4(xgzgroup->prev.viewinv_m3, rv3d->viewinv);
|
||||
|
||||
const TransformOrientationSlot *orient_slot = BKE_scene_orientation_slot_get(scene,
|
||||
SCE_ORIENT_ROTATE);
|
||||
|
||||
@@ -2440,16 +2450,6 @@ static void WIDGETGROUP_xform_shear_refresh(const bContext *C, wmGizmoGroup *gzg
|
||||
WM_gizmo_set_flag(gz, WM_GIZMO_HIDDEN, false);
|
||||
}
|
||||
}
|
||||
|
||||
/* Needed to test view orientation changes. */
|
||||
copy_m3_m4(xgzgroup->prev.viewinv_m3, rv3d->viewinv);
|
||||
|
||||
if (scene->toolsettings->workspace_tool_type == SCE_WORKSPACE_TOOL_FALLBACK) {
|
||||
gzgroup->use_fallback_keymap = true;
|
||||
}
|
||||
else {
|
||||
gzgroup->use_fallback_keymap = false;
|
||||
}
|
||||
}
|
||||
|
||||
static void WIDGETGROUP_xform_shear_message_subscribe(const bContext *C,
|
||||
|
Reference in New Issue
Block a user