diff options
author | Richard Antalik <richardantalik@gmail.com> | 2022-04-05 15:52:32 +0300 |
---|---|---|
committer | Richard Antalik <richardantalik@gmail.com> | 2022-04-05 15:56:50 +0300 |
commit | d5550c7b2c6b3278444f1f377d62776736c5dff9 (patch) | |
tree | 7902bba48f1a368bcf8e4c51ea3d8b4454b7302b /source/blender/sequencer | |
parent | d889762590a4f068aa312879976e98dbd0ee93fc (diff) |
Fix T97071: Duplicating strip in locked channel creates overlapping strips
Add flag `SEQ_IGNORE_CHANNEL_LOCK` to indicate, that channel lock
should not apply to strip. This flag must be cleared after
transformation.
Diffstat (limited to 'source/blender/sequencer')
-rw-r--r-- | source/blender/sequencer/intern/strip_transform.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/source/blender/sequencer/intern/strip_transform.c b/source/blender/sequencer/intern/strip_transform.c index 618fed079f4..087e2610bd6 100644 --- a/source/blender/sequencer/intern/strip_transform.c +++ b/source/blender/sequencer/intern/strip_transform.c @@ -395,7 +395,8 @@ void SEQ_transform_offset_after_frame(Scene *scene, bool SEQ_transform_is_locked(ListBase *channels, Sequence *seq) { SeqTimelineChannel *channel = SEQ_channel_get_by_index(channels, seq->machine); - return seq->flag & SEQ_LOCK || SEQ_channel_is_locked(channel); + return seq->flag & SEQ_LOCK || + (SEQ_channel_is_locked(channel) && ((seq->flag & SEQ_IGNORE_CHANNEL_LOCK) == 0)); } void SEQ_image_transform_mirror_factor_get(const Sequence *seq, float r_mirror[2]) |