Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/transform/transform_convert_sequencer.c
| Show First 20 Lines • Show All 256 Lines • ▼ Show 20 Lines | if ((custom_data->data != NULL) && custom_data->use_free) { | ||||
| MEM_freeN(custom_data->data); | MEM_freeN(custom_data->data); | ||||
| custom_data->data = NULL; | custom_data->data = NULL; | ||||
| } | } | ||||
| } | } | ||||
| /* Canceled, need to update the strips display. */ | /* Canceled, need to update the strips display. */ | ||||
| static void seq_transform_cancel(TransInfo *t, SeqCollection *transformed_strips) | static void seq_transform_cancel(TransInfo *t, SeqCollection *transformed_strips) | ||||
| { | { | ||||
| ListBase *seqbase = SEQ_active_seqbase_get(SEQ_editing_get(t->scene, false)); | |||||
| Sequence *seq; | Sequence *seq; | ||||
| SEQ_ITERATOR_FOREACH (seq, transformed_strips) { | SEQ_ITERATOR_FOREACH (seq, transformed_strips) { | ||||
| /* Handle pre-existing overlapping strips even when operator is canceled. | |||||
| * This is necessary for SEQUENCER_OT_duplicate_move macro for example. */ | |||||
| if (SEQ_transform_test_overlap(seqbase, seq)) { | |||||
| SEQ_transform_seqbase_shuffle(seqbase, seq, t->scene); | |||||
| } | |||||
| SEQ_time_update_sequence_bounds(t->scene, seq); | SEQ_time_update_sequence_bounds(t->scene, seq); | ||||
| } | } | ||||
| } | } | ||||
| static bool seq_transform_check_overlap(SeqCollection *transformed_strips) | static bool seq_transform_check_overlap(SeqCollection *transformed_strips) | ||||
| { | { | ||||
| Sequence *seq; | Sequence *seq; | ||||
| SEQ_ITERATOR_FOREACH (seq, transformed_strips) { | SEQ_ITERATOR_FOREACH (seq, transformed_strips) { | ||||
| ▲ Show 20 Lines • Show All 416 Lines • Show Last 20 Lines | |||||