diff options
-rw-r--r-- | source/blender/editors/space_sequencer/space_sequencer.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/source/blender/editors/space_sequencer/space_sequencer.c b/source/blender/editors/space_sequencer/space_sequencer.c index 0a0669e02e4..89bff839481 100644 --- a/source/blender/editors/space_sequencer/space_sequencer.c +++ b/source/blender/editors/space_sequencer/space_sequencer.c @@ -331,6 +331,31 @@ static void sequencer_refresh(const bContext *C, ScrArea *area) break; } + ARegion *region_channels = sequencer_find_region(area, RGN_TYPE_CHANNELS); + if (sseq->view == SEQ_VIEW_SEQUENCE) { + if (region_channels && (region_channels->flag & RGN_FLAG_HIDDEN)) { + region_channels->flag &= ~RGN_FLAG_HIDDEN; + region_channels->v2d.flag &= ~V2D_IS_INIT; + view_changed = true; + } + if (region_channels && region_channels->alignment != RGN_ALIGN_LEFT) { + region_channels->alignment = RGN_ALIGN_LEFT; + view_changed = true; + } + } + else { + if (region_channels && !(region_channels->flag & RGN_FLAG_HIDDEN)) { + region_channels->flag |= RGN_FLAG_HIDDEN; + region_channels->v2d.flag &= ~V2D_IS_INIT; + WM_event_remove_handlers((bContext *)C, ®ion_channels->handlers); + view_changed = true; + } + if (region_channels && region_channels->alignment != RGN_ALIGN_NONE) { + region_channels->alignment = RGN_ALIGN_NONE; + view_changed = true; + } + } + if (view_changed) { ED_area_init(wm, window, area); ED_area_tag_redraw(area); |