diff options
author | George Vogiatzis <Gvgeo> | 2019-04-08 23:35:55 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-04-08 23:51:30 +0300 |
commit | 7655b32999a0720ea9fcba6610bc9f4fbb56de25 (patch) | |
tree | 4667c25771aec792ae24dad1c80957e581d679be | |
parent | df26f28835fb8a98760aef2f41d947579e95e73e (diff) |
Fix T63386: text editor footer added multiple times.
Differential Revision: https://developer.blender.org/D4663
-rw-r--r-- | source/blender/blenkernel/BKE_blender_version.h | 2 | ||||
-rw-r--r-- | source/blender/blenloader/intern/versioning_280.c | 19 |
2 files changed, 17 insertions, 4 deletions
diff --git a/source/blender/blenkernel/BKE_blender_version.h b/source/blender/blenkernel/BKE_blender_version.h index 4c88410134c..9c47cc9f22b 100644 --- a/source/blender/blenkernel/BKE_blender_version.h +++ b/source/blender/blenkernel/BKE_blender_version.h @@ -24,7 +24,7 @@ * and keep comment above the defines. * Use STRINGIFY() rather than defining with quotes */ #define BLENDER_VERSION 280 -#define BLENDER_SUBVERSION 54 +#define BLENDER_SUBVERSION 55 /* Several breakages with 280, e.g. collections vs layers */ #define BLENDER_MINVERSION 280 #define BLENDER_MINSUBVERSION 0 diff --git a/source/blender/blenloader/intern/versioning_280.c b/source/blender/blenloader/intern/versioning_280.c index 25ada2fd13e..a32ff9f5ef0 100644 --- a/source/blender/blenloader/intern/versioning_280.c +++ b/source/blender/blenloader/intern/versioning_280.c @@ -2995,15 +2995,24 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *bmain) } } - { - /* Versioning code until next subversion bump goes here. */ - + if (!MAIN_VERSION_ATLEAST(bmain, 280, 55)) { for (bScreen *screen = bmain->screens.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_TEXT) { ListBase *regionbase = (sl == sa->spacedata.first) ? &sa->regionbase : &sl->regionbase; ARegion *ar = MEM_callocN(sizeof(ARegion), "footer for text"); + + /* Remove multiple footers that were added by mistake. */ + ARegion *ar_footer, *ar_next; + for (ar_footer = regionbase->first; ar_footer; ar_footer = ar_next) { + ar_next = ar_footer->next; + if (ar_footer->regiontype == RGN_TYPE_FOOTER) { + BLI_freelinkN(regionbase, ar_footer); + } + } + + /* Add footer. */ ARegion *ar_header = NULL; for (ar_header = regionbase->first; ar_header; ar_header = ar_header->next) { @@ -3022,4 +3031,8 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *bmain) } } } + + { + /* Versioning code until next subversion bump goes here. */ + } } |