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:
authorPhilipp Oeser <info@graphics-engineer.com>2020-01-10 15:33:25 +0300
committerPhilipp Oeser <info@graphics-engineer.com>2020-01-29 13:44:56 +0300
commitaa123555d7a75c784f479b9572145f45862bcb2b (patch)
tree03d0bc692a662accdd2c256a764f65c34f11b727 /source/blender/blenkernel/intern/sequencer.c
parent67a60504990a6203304527a8bdb3a09041ca28d0 (diff)
Fix T73014: Marker sync does not work correctly if moving strip so it overlaps another strip
Need to also offset markers in BKE_sequence_base_shuffle_time(). Also clarify/correct related comments. Maniphest Tasks: T73014 Differential Revision: https://developer.blender.org/D6555
Diffstat (limited to 'source/blender/blenkernel/intern/sequencer.c')
-rw-r--r--source/blender/blenkernel/intern/sequencer.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/sequencer.c b/source/blender/blenkernel/intern/sequencer.c
index 70ec3035c3c..747ce18cada 100644
--- a/source/blender/blenkernel/intern/sequencer.c
+++ b/source/blender/blenkernel/intern/sequencer.c
@@ -4919,7 +4919,10 @@ static int shuffle_seq_time_offset(Scene *scene, ListBase *seqbasep, char dir)
return tot_ofs;
}
-bool BKE_sequence_base_shuffle_time(ListBase *seqbasep, Scene *evil_scene)
+bool BKE_sequence_base_shuffle_time(ListBase *seqbasep,
+ Scene *evil_scene,
+ ListBase *markers,
+ const bool use_sync_markers)
{
/* note: seq->tmp is used to tag strips to move */
@@ -4936,6 +4939,16 @@ bool BKE_sequence_base_shuffle_time(ListBase *seqbasep, Scene *evil_scene)
seq->flag &= ~SEQ_OVERLAP;
}
}
+
+ if (use_sync_markers && !(evil_scene->toolsettings->lock_markers) && (markers != NULL)) {
+ TimeMarker *marker;
+ /* affect selected markers - it's unlikely that we will want to affect all in this way? */
+ for (marker = markers->first; marker; marker = marker->next) {
+ if (marker->flag & SELECT) {
+ marker->frame += offset;
+ }
+ }
+ }
}
return offset ? false : true;