[Bf-blender-cvs] [7eaed14fae8] master: Fix T72948: Smooth active tool gizmo vibrates
Campbell Barton
noreply at git.blender.org
Fri Jan 10 03:26:35 CET 2020
Commit: 7eaed14fae865826ed4dc8053c42cb929f71dce7
Author: Campbell Barton
Date: Fri Jan 10 13:04:52 2020 +1100
Branches: master
https://developer.blender.org/rB7eaed14fae865826ed4dc8053c42cb929f71dce7
Fix T72948: Smooth active tool gizmo vibrates
===================================================================
M source/blender/editors/space_view3d/view3d_gizmo_tool_generic.c
M source/blender/windowmanager/intern/wm_operator_utils.c
===================================================================
diff --git a/source/blender/editors/space_view3d/view3d_gizmo_tool_generic.c b/source/blender/editors/space_view3d/view3d_gizmo_tool_generic.c
index 0a4505b1bac..75d0384182b 100644
--- a/source/blender/editors/space_view3d/view3d_gizmo_tool_generic.c
+++ b/source/blender/editors/space_view3d/view3d_gizmo_tool_generic.c
@@ -22,6 +22,7 @@
#include "BLI_utildefines.h"
#include "BKE_context.h"
+#include "BKE_global.h"
#include "ED_screen.h"
#include "ED_transform.h"
@@ -61,6 +62,11 @@ static bool WIDGETGROUP_tool_generic_poll(const bContext *C, wmGizmoGroupType *g
return false;
}
+ /* Without this, refreshing the gizmo jitters in some cases with edit-mesh smooth. See T72948. */
+ if (G.moving & G_TRANSFORM_EDIT) {
+ return false;
+ }
+
return true;
}
diff --git a/source/blender/windowmanager/intern/wm_operator_utils.c b/source/blender/windowmanager/intern/wm_operator_utils.c
index c2af82c007e..856c85d4554 100644
--- a/source/blender/windowmanager/intern/wm_operator_utils.c
+++ b/source/blender/windowmanager/intern/wm_operator_utils.c
@@ -26,6 +26,7 @@
#include "BLI_string.h"
#include "BKE_context.h"
+#include "BKE_global.h"
#include "BKE_layer.h"
#include "RNA_access.h"
@@ -176,6 +177,8 @@ static void op_generic_value_exit(wmOperator *op)
MEM_freeN(cd->objects_xform);
MEM_freeN(cd);
}
+
+ G.moving &= ~G_TRANSFORM_EDIT;
}
static void op_generic_value_restore(wmOperator *op)
@@ -228,6 +231,8 @@ static int op_generic_value_invoke(bContext *C, wmOperator *op, const wmEvent *e
op->customdata = cd;
WM_event_add_modal_handler(C, op);
+ G.moving |= G_TRANSFORM_EDIT;
+
return OPERATOR_RUNNING_MODAL;
}
More information about the Bf-blender-cvs
mailing list