diff options
-rw-r--r-- | source/blender/editors/screen/screen_context.c | 18 | ||||
-rw-r--r-- | source/blender/editors/space_sequencer/sequencer_channels_draw.c | 5 | ||||
-rw-r--r-- | source/blender/sequencer/intern/sequencer.c | 2 |
3 files changed, 17 insertions, 8 deletions
diff --git a/source/blender/editors/screen/screen_context.c b/source/blender/editors/screen/screen_context.c index d718c8b0d95..11a62123ad7 100644 --- a/source/blender/editors/screen/screen_context.c +++ b/source/blender/editors/screen/screen_context.c @@ -647,18 +647,20 @@ static eContextResult screen_ctx_selected_editable_sequences(const bContext *C, wmWindow *win = CTX_wm_window(C); Scene *scene = WM_window_get_active_scene(win); Editing *ed = SEQ_editing_get(scene); + if (ed == NULL) { + return CTX_RESULT_NO_DATA; + } + ListBase *channels = SEQ_channels_displayed_get(ed); - if (ed) { - LISTBASE_FOREACH (Sequence *, seq, ed->seqbasep) { - if (seq->flag & SELECT && !SEQ_transform_is_locked(channels, seq)) { - CTX_data_list_add(result, &scene->id, &RNA_Sequence, seq); - } + LISTBASE_FOREACH (Sequence *, seq, ed->seqbasep) { + if (seq->flag & SELECT && !SEQ_transform_is_locked(channels, seq)) { + CTX_data_list_add(result, &scene->id, &RNA_Sequence, seq); } - CTX_data_type_set(result, CTX_DATA_TYPE_COLLECTION); - return CTX_RESULT_OK; } - return CTX_RESULT_NO_DATA; + CTX_data_type_set(result, CTX_DATA_TYPE_COLLECTION); + return CTX_RESULT_OK; } + static eContextResult screen_ctx_active_nla_track(const bContext *C, bContextDataResult *result) { PointerRNA ptr; diff --git a/source/blender/editors/space_sequencer/sequencer_channels_draw.c b/source/blender/editors/space_sequencer/sequencer_channels_draw.c index 5a43eade999..b4bb4e950f0 100644 --- a/source/blender/editors/space_sequencer/sequencer_channels_draw.c +++ b/source/blender/editors/space_sequencer/sequencer_channels_draw.c @@ -347,6 +347,11 @@ void channel_draw_context_init(const bContext *C, void draw_channels(const bContext *C, ARegion *region) { + Editing *ed = SEQ_editing_get(CTX_data_scene(C)); + if (ed == NULL) { + return; + } + SeqChannelDrawContext context; channel_draw_context_init(C, region, &context); diff --git a/source/blender/sequencer/intern/sequencer.c b/source/blender/sequencer/intern/sequencer.c index baa06e133b7..faa527786fd 100644 --- a/source/blender/sequencer/intern/sequencer.c +++ b/source/blender/sequencer/intern/sequencer.c @@ -245,6 +245,8 @@ Editing *SEQ_editing_ensure(Scene *scene) ed->cache = NULL; ed->cache_flag = SEQ_CACHE_STORE_FINAL_OUT; ed->cache_flag |= SEQ_CACHE_STORE_RAW; + ed->displayed_channels = &ed->channels; + SEQ_channels_ensure(ed->displayed_channels); } return scene->ed; |