[Bf-blender-cvs] [b7b1b2325c1] master: Fix T87274: Curve 2D resets to 3D on reload

Germano Cavalcante noreply at git.blender.org
Wed Apr 7 23:03:26 CEST 2021


Commit: b7b1b2325c1a280f1e038736406cf75c4c8b9a05
Author: Germano Cavalcante
Date:   Wed Apr 7 17:55:57 2021 -0300
Branches: master
https://developer.blender.org/rBb7b1b2325c1a280f1e038736406cf75c4c8b9a05

Fix T87274: Curve 2D resets to 3D on reload

This code is incompatible with .blend files from subversion 16 and 17.

The ideal would be to create a new subversion when landed rBf674976edd88.

But for now, due to the delay, moving the code to the previous subversion
can solve it.

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

M	source/blender/blenloader/intern/versioning_290.c

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

diff --git a/source/blender/blenloader/intern/versioning_290.c b/source/blender/blenloader/intern/versioning_290.c
index c9f93d35eb3..819d077bf0a 100644
--- a/source/blender/blenloader/intern/versioning_290.c
+++ b/source/blender/blenloader/intern/versioning_290.c
@@ -1987,6 +1987,26 @@ void blo_do_versions_290(FileData *fd, Library *UNUSED(lib), Main *bmain)
       }
       FOREACH_NODETREE_END;
     }
+
+    /* The CU_2D flag has been removed. */
+    LISTBASE_FOREACH (Curve *, cu, &bmain->curves) {
+#define CU_2D (1 << 3)
+      ListBase *nurbs = BKE_curve_nurbs_get(cu);
+      bool is_2d = true;
+
+      LISTBASE_FOREACH (Nurb *, nu, nurbs) {
+        if (nu->flag & CU_2D) {
+          nu->flag &= ~CU_2D;
+        }
+        else {
+          is_2d = false;
+        }
+      }
+#undef CU_2D
+      if (!is_2d && CU_IS_2D(cu)) {
+        cu->flag |= CU_3D;
+      }
+    }
   }
 
   /**
@@ -2034,25 +2054,5 @@ void blo_do_versions_290(FileData *fd, Library *UNUSED(lib), Main *bmain)
         }
       }
     }
-
-    /* The CU_2D flag has been removed. */
-    LISTBASE_FOREACH (Curve *, cu, &bmain->curves) {
-#define CU_2D (1 << 3)
-      ListBase *nurbs = BKE_curve_nurbs_get(cu);
-      bool is_2d = true;
-
-      LISTBASE_FOREACH (Nurb *, nu, nurbs) {
-        if (nu->flag & CU_2D) {
-          nu->flag &= ~CU_2D;
-        }
-        else {
-          is_2d = false;
-        }
-      }
-#undef CU_2D
-      if (!is_2d && CU_IS_2D(cu)) {
-        cu->flag |= CU_3D;
-      }
-    }
   }
 }



More information about the Bf-blender-cvs mailing list