Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Antalik <richardantalik@gmail.com>2022-04-05 15:52:32 +0300
committerRichard Antalik <richardantalik@gmail.com>2022-04-05 15:56:50 +0300
commitd5550c7b2c6b3278444f1f377d62776736c5dff9 (patch)
tree7902bba48f1a368bcf8e4c51ea3d8b4454b7302b /source/blender/sequencer
parentd889762590a4f068aa312879976e98dbd0ee93fc (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.c3
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])