diff options
author | Richard Antalik <richardantalik@gmail.com> | 2021-11-15 22:33:34 +0300 |
---|---|---|
committer | Richard Antalik <richardantalik@gmail.com> | 2021-11-15 22:33:34 +0300 |
commit | 46f5f60c13717849990fb31ac4e5f995010e65a9 (patch) | |
tree | 1423a434ef1c5f33207609874e293eddc30cf055 /source/blender/editors | |
parent | 10a6a540af31e1c96f13a0faee75e3c924a772e5 (diff) | |
parent | a040d2a93a7d5b615dc7d408925f00e87a603472 (diff) |
Merge branch 'blender-v3.0-release'
Diffstat (limited to 'source/blender/editors')
-rw-r--r-- | source/blender/editors/space_sequencer/sequencer_draw.c | 5 | ||||
-rw-r--r-- | source/blender/editors/space_sequencer/sequencer_edit.c | 31 |
2 files changed, 14 insertions, 22 deletions
diff --git a/source/blender/editors/space_sequencer/sequencer_draw.c b/source/blender/editors/space_sequencer/sequencer_draw.c index 3374ff11726..72e39d369a5 100644 --- a/source/blender/editors/space_sequencer/sequencer_draw.c +++ b/source/blender/editors/space_sequencer/sequencer_draw.c @@ -2721,8 +2721,6 @@ void draw_timeline_seq(const bContext *C, ARegion *region) } UI_view2d_view_ortho(v2d); - /* Get timeline bound-box, needed for the scroll-bars. */ - SEQ_timeline_boundbox(scene, SEQ_active_seqbase_get(ed), &v2d->tot); draw_seq_backdrop(v2d); if ((sseq->flag & SEQ_SHOW_OVERLAY) && (sseq->timeline_overlay.flag & SEQ_TIMELINE_SHOW_GRID)) { U.v2d_min_gridsize *= 3; @@ -2806,5 +2804,8 @@ void draw_timeline_seq_display(const bContext *C, ARegion *region) } ED_time_scrub_draw_current_frame(region, scene, !(sseq->flag & SEQ_DRAWFRAMES)); + + const ListBase *seqbase = SEQ_active_seqbase_get(SEQ_editing_get(scene)); + SEQ_timeline_boundbox(scene, seqbase, &v2d->tot); UI_view2d_scrollers_draw(v2d, NULL); } diff --git a/source/blender/editors/space_sequencer/sequencer_edit.c b/source/blender/editors/space_sequencer/sequencer_edit.c index 8c70f4e3f7a..12a6981baee 100644 --- a/source/blender/editors/space_sequencer/sequencer_edit.c +++ b/source/blender/editors/space_sequencer/sequencer_edit.c @@ -818,8 +818,6 @@ static int sequencer_slip_modal(bContext *C, wmOperator *op, const wmEvent *even case EVT_ESCKEY: case RIGHTMOUSE: { - Editing *ed = SEQ_editing_get(scene); - for (int i = 0; i < data->num_seq; i++) { transseq_restore(data->ts + i, data->seq_array[i]); } @@ -839,8 +837,6 @@ static int sequencer_slip_modal(bContext *C, wmOperator *op, const wmEvent *even WM_event_add_notifier(C, NC_SCENE | ND_SEQUENCER, scene); - SEQ_relations_free_imbuf(scene, &ed->seqbase, false); - if (area) { ED_area_status_text(area, NULL); } @@ -1116,7 +1112,6 @@ static int sequencer_reload_exec(bContext *C, wmOperator *op) for (seq = ed->seqbasep->first; seq; seq = seq->next) { if (seq->flag & SELECT) { - SEQ_relations_update_changed_seq_and_deps(scene, seq, 0, 1); SEQ_add_reload_new_file(bmain, scene, seq, !adjust_length); if (adjust_length) { @@ -1326,7 +1321,9 @@ static int sequencer_reassign_inputs_exec(bContext *C, wmOperator *op) last_seq->seq3 = seq3; int old_start = last_seq->start; - SEQ_relations_update_changed_seq_and_deps(scene, last_seq, 1, 1); + SEQ_time_update_recursive(scene, last_seq); + + SEQ_relations_invalidate_cache_preprocessed(scene, last_seq); SEQ_offset_animdata(scene, last_seq, (last_seq->start - old_start)); WM_event_add_notifier(C, NC_SCENE | ND_SEQUENCER, scene); @@ -1384,7 +1381,7 @@ static int sequencer_swap_inputs_exec(bContext *C, wmOperator *op) last_seq->seq1 = last_seq->seq2; last_seq->seq2 = seq; - SEQ_relations_update_changed_seq_and_deps(scene, last_seq, 1, 1); + SEQ_relations_invalidate_cache_preprocessed(scene, last_seq); WM_event_add_notifier(C, NC_SCENE | ND_SEQUENCER, scene); @@ -1791,6 +1788,7 @@ static int sequencer_offset_clear_exec(bContext *C, wmOperator *UNUSED(op)) while (seq) { ListBase *seqbase = SEQ_active_seqbase_get(ed); SEQ_time_update_sequence(scene, seqbase, seq); + SEQ_relations_invalidate_cache_preprocessed(scene, seq); seq = seq->next; } @@ -2202,10 +2200,12 @@ static void swap_sequence(Scene *scene, Sequence *seqa, Sequence *seqb) seq_b_start = (seqb->start - seqb->startdisp) + seqa->startdisp; SEQ_transform_translate_sequence(scene, seqb, seq_b_start - seqb->start); SEQ_time_update_sequence(scene, seqbase, seqb); + SEQ_relations_invalidate_cache_preprocessed(scene, seqb); seq_a_start = (seqa->start - seqa->startdisp) + seqb->enddisp + gap; SEQ_transform_translate_sequence(scene, seqa, seq_a_start - seqa->start); SEQ_time_update_sequence(scene, seqbase, seqa); + SEQ_relations_invalidate_cache_preprocessed(scene, seqa); } static Sequence *find_next_prev_sequence(Scene *scene, Sequence *test, int lr, int sel) @@ -2673,7 +2673,6 @@ static const EnumPropertyItem prop_change_effect_input_types[] = { static int sequencer_change_effect_input_exec(bContext *C, wmOperator *op) { Scene *scene = CTX_data_scene(C); - Editing *ed = SEQ_editing_get(scene); Sequence *seq = SEQ_select_active_get(scene); Sequence **seq_1, **seq_2; @@ -2700,10 +2699,7 @@ static int sequencer_change_effect_input_exec(bContext *C, wmOperator *op) SWAP(Sequence *, *seq_1, *seq_2); - SEQ_relations_update_changed_seq_and_deps(scene, seq, 0, 1); - - /* Invalidate cache. */ - SEQ_relations_free_imbuf(scene, &ed->seqbase, false); + SEQ_relations_invalidate_cache_preprocessed(scene, seq); WM_event_add_notifier(C, NC_SCENE | ND_SEQUENCER, scene); return OPERATOR_FINISHED; @@ -2757,7 +2753,6 @@ EnumPropertyItem sequencer_prop_effect_types[] = { static int sequencer_change_effect_type_exec(bContext *C, wmOperator *op) { Scene *scene = CTX_data_scene(C); - Editing *ed = SEQ_editing_get(scene); Sequence *seq = SEQ_select_active_get(scene); const int new_type = RNA_enum_get(op->ptr, "type"); @@ -2783,10 +2778,7 @@ static int sequencer_change_effect_type_exec(bContext *C, wmOperator *op) sh = SEQ_effect_handle_get(seq); sh.init(seq); - SEQ_relations_update_changed_seq_and_deps(scene, seq, 0, 1); - /* Invalidate cache. */ - SEQ_relations_free_imbuf(scene, &ed->seqbase, false); - + SEQ_relations_invalidate_cache_preprocessed(scene, seq); WM_event_add_notifier(C, NC_SCENE | ND_SEQUENCER, scene); return OPERATOR_FINISHED; @@ -2880,9 +2872,6 @@ static int sequencer_change_path_exec(bContext *C, wmOperator *op) ListBase *seqbase = SEQ_active_seqbase_get(SEQ_editing_get(scene)); SEQ_time_update_sequence(scene, seqbase, seq); - - /* Invalidate cache. */ - SEQ_relations_free_imbuf(scene, seqbase, false); } else if (ELEM(seq->type, SEQ_TYPE_SOUND_RAM, SEQ_TYPE_SOUND_HD)) { bSound *sound = seq->sound; @@ -2906,8 +2895,10 @@ static int sequencer_change_path_exec(bContext *C, wmOperator *op) prop = RNA_struct_find_property(&seq_ptr, "filepath"); RNA_property_string_set(&seq_ptr, prop, filepath); RNA_property_update(C, &seq_ptr, prop); + SEQ_relations_sequence_free_anim(seq); } + SEQ_relations_invalidate_cache_raw(scene, seq); WM_event_add_notifier(C, NC_SCENE | ND_SEQUENCER, scene); return OPERATOR_FINISHED; |