diff options
Diffstat (limited to 'source/blender/editors/transform')
-rw-r--r-- | source/blender/editors/transform/transform_snap.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/source/blender/editors/transform/transform_snap.c b/source/blender/editors/transform/transform_snap.c index ea08c8912e9..05a20a14477 100644 --- a/source/blender/editors/transform/transform_snap.c +++ b/source/blender/editors/transform/transform_snap.c @@ -594,7 +594,7 @@ static void initSnappingMode(TransInfo *t) else if (t->spacetype == SPACE_SEQ) { t->tsnap.mode = SEQ_tool_settings_snap_mode_get(t->scene); } - else { + else if (ELEM(t->spacetype, SPACE_VIEW3D, SPACE_IMAGE) && !(t->options & CTX_CAMERA)) { /* force project off when not supported */ if ((ts->snap_mode & SCE_SNAP_MODE_FACE) == 0) { t->tsnap.project = 0; @@ -608,6 +608,14 @@ static void initSnappingMode(TransInfo *t) t->tsnap.mode |= SCE_SNAP_MODE_GRID; } } + else if (ELEM(t->spacetype, SPACE_GRAPH, SPACE_ACTION, SPACE_NLA)) { + /* No incremental snapping. */ + t->tsnap.mode = 0; + } + else { + /* Fallback. */ + t->tsnap.mode = SCE_SNAP_MODE_INCREMENT; + } if (ELEM(t->spacetype, SPACE_VIEW3D, SPACE_IMAGE) && !(t->options & CTX_CAMERA)) { /* Only 3D view or UV. */ @@ -654,10 +662,6 @@ static void initSnappingMode(TransInfo *t) setSnappingCallback(t); t->tsnap.modeSelect = SNAP_NOT_SELECTED; } - else { - /* Fallback. */ - t->tsnap.mode = SCE_SNAP_MODE_INCREMENT; - } if (t->spacetype == SPACE_VIEW3D) { if (t->tsnap.object_context == NULL) { |