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;
|
RegionView3D *rv3d = ar->regiondata;
|
||||||
struct TransformBounds tbounds;
|
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) {
|
if (ggd->use_twtype_refresh) {
|
||||||
ggd->twtype = v3d->gizmo_show_object & ggd->twtype_init;
|
ggd->twtype = v3d->gizmo_show_object & ggd->twtype_init;
|
||||||
if (ggd->twtype != ggd->twtype_prev) {
|
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++) {
|
for (int i = MAN_AXIS_RANGE_ROT_START; i < MAN_AXIS_RANGE_ROT_END; i++) {
|
||||||
ggd->gizmos[i]->select_bias = rotate_select_bias;
|
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,
|
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;
|
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,
|
const TransformOrientationSlot *orient_slot = BKE_scene_orientation_slot_get(scene,
|
||||||
SCE_ORIENT_SCALE);
|
SCE_ORIENT_SCALE);
|
||||||
|
|
||||||
@@ -2231,13 +2238,6 @@ static void WIDGETGROUP_xform_cage_refresh(const bContext *C, wmGizmoGroup *gzgr
|
|||||||
|
|
||||||
/* Needed to test view orientation changes. */
|
/* Needed to test view orientation changes. */
|
||||||
copy_m3_m4(xgzgroup->prev.viewinv_m3, rv3d->viewinv);
|
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,
|
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 XFormShearWidgetGroup *xgzgroup = gzgroup->customdata;
|
||||||
struct TransformBounds tbounds;
|
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,
|
const TransformOrientationSlot *orient_slot = BKE_scene_orientation_slot_get(scene,
|
||||||
SCE_ORIENT_ROTATE);
|
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);
|
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,
|
static void WIDGETGROUP_xform_shear_message_subscribe(const bContext *C,
|
||||||
|
Reference in New Issue
Block a user