[Bf-blender-cvs] [2f1b891dd9d] master: Fix tool fallback being ignored with transform gizmos

Campbell Barton noreply at git.blender.org
Thu Dec 12 08:39:58 CET 2019


Commit: 2f1b891dd9d2e9756b2422add075d98d8b9bbe1d
Author: Campbell Barton
Date:   Thu Dec 12 18:37:51 2019 +1100
Branches: master
https://developer.blender.org/rB2f1b891dd9d2e9756b2422add075d98d8b9bbe1d

Fix tool fallback being ignored with transform gizmos

This only worked once the gizmo was displayed.

===================================================================

M	source/blender/editors/transform/transform_gizmo_3d.c

===================================================================

diff --git a/source/blender/editors/transform/transform_gizmo_3d.c b/source/blender/editors/transform/transform_gizmo_3d.c
index 336f9974e7d..f19147baa89 100644
--- a/source/blender/editors/transform/transform_gizmo_3d.c
+++ b/source/blender/editors/transform/transform_gizmo_3d.c
@@ -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,



More information about the Bf-blender-cvs mailing list