[Bf-blender-cvs] [2761679180c] master: Fix T89826: VSE snapping with constrained axis

Richard Antalik noreply at git.blender.org
Wed Jul 14 13:24:54 CEST 2021


Commit: 2761679180c37ffddfeef213dd5b5b0d6290395c
Author: Richard Antalik
Date:   Wed Jul 14 13:22:40 2021 +0200
Branches: master
https://developer.blender.org/rB2761679180c37ffddfeef213dd5b5b0d6290395c

Fix T89826: VSE snapping with constrained axis

Constraining to X axis caused snapping to not work at all. Constraining
to Y axis caused snapping indicator to be drawn, when snapping doesn't
occur.

Reviewed By: mano-wii

Differential Revision: https://developer.blender.org/D11898

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

M	source/blender/editors/transform/transform_mode_edge_seq_slide.c
M	source/blender/editors/transform/transform_snap_sequencer.c

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

diff --git a/source/blender/editors/transform/transform_mode_edge_seq_slide.c b/source/blender/editors/transform/transform_mode_edge_seq_slide.c
index fe853440c96..a8f7fc43b5e 100644
--- a/source/blender/editors/transform/transform_mode_edge_seq_slide.c
+++ b/source/blender/editors/transform/transform_mode_edge_seq_slide.c
@@ -129,7 +129,7 @@ static void applySeqSlide(TransInfo *t, const int UNUSED(mval[2]))
     transform_convert_sequencer_channel_clamp(t, values_final);
 
     if (t->con.mode & CON_APPLY) {
-      t->con.applyVec(t, NULL, NULL, t->values, values_final);
+      t->con.applyVec(t, NULL, NULL, values_final, values_final);
     }
   }
 
diff --git a/source/blender/editors/transform/transform_snap_sequencer.c b/source/blender/editors/transform/transform_snap_sequencer.c
index d9395e5e960..d0b730383d5 100644
--- a/source/blender/editors/transform/transform_snap_sequencer.c
+++ b/source/blender/editors/transform/transform_snap_sequencer.c
@@ -236,6 +236,11 @@ void transform_snap_sequencer_data_free(TransSeqSnapData *data)
 
 bool transform_snap_sequencer_calc(TransInfo *t)
 {
+  /* Prevent snapping when constrained to Y axis. */
+  if (t->con.mode & CON_APPLY && t->con.mode & CON_AXIS1) {
+    return false;
+  }
+
   const TransSeqSnapData *snap_data = t->tsnap.seq_context;
   int best_dist = MAXFRAME, best_target_frame = 0, best_source_frame = 0;



More information about the Bf-blender-cvs mailing list