From 3131107ba3aa66a9389a422424c9cde1fdd1b70d Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 26 May 2022 15:53:17 +1000 Subject: [PATCH] Fix T94857: 'Gizmo Operator' from python templates spins when dragged Callbacks used in the gizmo operator template don't support updating while being dragged, set the EXCLUDE_MODAL flag so the offsets aren't accumulated. Also fix the offset being applied twice to the move gizmo. --- release/scripts/templates_py/gizmo_operator.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/release/scripts/templates_py/gizmo_operator.py b/release/scripts/templates_py/gizmo_operator.py index 450f67ba3a4..75595b0c5ea 100644 --- a/release/scripts/templates_py/gizmo_operator.py +++ b/release/scripts/templates_py/gizmo_operator.py @@ -84,7 +84,7 @@ class SelectSideOfPlaneGizmoGroup(GizmoGroup): bl_label = "Side of Plane Gizmo" bl_space_type = 'VIEW_3D' bl_region_type = 'WINDOW' - bl_options = {'3D'} + bl_options = {'3D', 'EXCLUDE_MODAL'} # Helper functions @staticmethod @@ -199,7 +199,8 @@ class SelectSideOfPlaneGizmoGroup(GizmoGroup): matrix.col[0].xyz = no_x matrix.col[1].xyz = no_y matrix.col[2].xyz = no_z - matrix.col[3].xyz = co + # The location callback handles the location. + # `matrix.col[3].xyz = co`. # Dial no_z = self.rotate_axis