diff options
author | Julian Eisel <eiseljulian@gmail.com> | 2016-03-26 02:03:43 +0300 |
---|---|---|
committer | Julian Eisel <eiseljulian@gmail.com> | 2016-03-26 02:09:34 +0300 |
commit | 802bb422671b7c04548df954ef2ee5e77d173f05 (patch) | |
tree | 4d3e61d1aa0920e194eee12f92d51480b696f821 /source/blender/blenloader | |
parent | 7607d064d658ee07cec9cec580a549c6b1398634 (diff) |
Fix sequencer view in video editing layout containing hidden preview region
Steps to reproduce were:
* Open default video editing layout
* Drag down or click '+' icon in upper right corner of sequencer view
* A preview region appears, even though the view type is not set to sequencer-preview split mode
Another bug that has been there since ages :/ Reported by @Blendify via IRC, thanks!
Diffstat (limited to 'source/blender/blenloader')
-rw-r--r-- | source/blender/blenloader/intern/versioning_270.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/source/blender/blenloader/intern/versioning_270.c b/source/blender/blenloader/intern/versioning_270.c index def1eab0eaf..049a8b65dab 100644 --- a/source/blender/blenloader/intern/versioning_270.c +++ b/source/blender/blenloader/intern/versioning_270.c @@ -1067,5 +1067,28 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *main) } } } + + /* Bug: Was possible to add preview region to sequencer view by using AZones. + * Caused by redundant preview region stored into startup.blend */ + for (bScreen *screen = main->screen.first; screen; screen = screen->id.next) { + for (ScrArea *sa = screen->areabase.first; sa; sa = sa->next) { + for (SpaceLink *sl = sa->spacedata.first; sl; sl = sl->next) { + if (sl->spacetype == SPACE_SEQ) { + SpaceSeq *sseq = (SpaceSeq *)sl; + if (sseq->view == SEQ_VIEW_SEQUENCE) { + ListBase *lb = (sl == sa->spacedata.first) ? &sa->regionbase : &sl->regionbase; + for (ARegion *ar = lb->first; ar; ar = ar->next) { + /* remove preview region for sequencer-only view! */ + if (ar->regiontype == RGN_TYPE_PREVIEW) { + BKE_area_region_free(NULL, ar); + BLI_freelinkN(&sl->regionbase, ar); + break; + } + } + } + } + } + } + } } } |