diff --git a/source/blender/editors/transform/transform.c b/source/blender/editors/transform/transform.c index 74fc1406795..b4fc0701cc6 100644 --- a/source/blender/editors/transform/transform.c +++ b/source/blender/editors/transform/transform.c @@ -1228,6 +1228,15 @@ int transformEvent(TransInfo *t, const wmEvent *event) break; case TFM_MODAL_SNAP_TOGGLE: t->modifiers ^= MOD_SNAP; + if (t->modifiers & MOD_SNAP) { + t->settings->snap_flag |= SCE_SNAP; + } + else { + t->settings->snap_flag &= ~SCE_SNAP; + } + if (t->sa) { + ED_area_tag_redraw(t->sa); + } t->redraw |= TREDRAW_HARD; handled = true; break; @@ -2163,18 +2172,6 @@ void saveTransform(bContext *C, TransInfo *t, wmOperator *op) } } - if (t->flag & T_MODAL) { - /* do we check for parameter? */ - if (transformModeUseSnap(t)) { - if (t->modifiers & MOD_SNAP) { - ts->snap_flag |= SCE_SNAP; - } - else { - ts->snap_flag &= ~SCE_SNAP; - } - } - } - if ((prop = RNA_struct_find_property(op->ptr, "use_proportional_edit"))) { RNA_property_boolean_set(op->ptr, prop, proportional & PROP_EDIT_USE); RNA_boolean_set(op->ptr, "use_proportional_connected", proportional & PROP_EDIT_CONNECTED);