Commit: 7655b32999a0720ea9fcba6610bc9f4fbb56de25
Author: George Vogiatzis
Date:   Mon Apr 8 22:35:55 2019 +0200
Branches: master
https://developer.blender.org/rB7655b32999a0720ea9fcba6610bc9f4fbb56de25

Fix T63386: text editor footer added multiple times.

Differential Revision: https://developer.blender.org/D4663

===================================================================

M       source/blender/blenkernel/BKE_blender_version.h
M       source/blender/blenloader/intern/versioning_280.c

===================================================================

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. */
+       }
 }

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to