[Bf-blender-cvs] [e314aa1e47b] blender2.8: Fix specific 2.8 broken files

Dalai Felinto noreply at git.blender.org
Thu Nov 23 16:34:09 CET 2017


Commit: e314aa1e47bde878f3a36828827a354f161c8a1f
Author: Dalai Felinto
Date:   Thu Nov 23 12:54:52 2017 -0200
Branches: blender2.8
https://developer.blender.org/rBe314aa1e47bde878f3a36828827a354f161c8a1f

Fix specific 2.8 broken files

Short of checking for types (SceneLayer) this is the only reliable
way of getting all 2.80 files to date.

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

M	source/blender/makesdna/intern/dna_genfile.c

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

diff --git a/source/blender/makesdna/intern/dna_genfile.c b/source/blender/makesdna/intern/dna_genfile.c
index c8312ce568b..ac932a8daaf 100644
--- a/source/blender/makesdna/intern/dna_genfile.c
+++ b/source/blender/makesdna/intern/dna_genfile.c
@@ -325,16 +325,29 @@ static bool need_doversion_280(SDNA *sdna, int *data, const bool data_alloc)
 		return false;
 	}
 
+	bool active_layer = false, render_layers = false;
+
 	const char *cp = (char *)data;
 	for (int nr = 0; nr < sdna->nr_names; nr++) {
-		if (strcmp(cp, "*cur_render_layer") == 0) {
-			return true;
+		if (strcmp(cp, "active_layer") == 0) {
+			active_layer = true;
+			if (active_layer && render_layers) {
+				return true;
+			}
+		}
+		else if (strcmp(cp, "render_layers") == 0) {
+			render_layers = true;
+			if (active_layer && render_layers) {
+				return true;
+			}
 		}
 
 		while (*cp) cp++;
 		cp++;
 	}
 
+	/* If someone adds only one of them to the DNA, don't! */
+	BLI_assert(!(active_layer || render_layers));
 	return false;
 }



More information about the Bf-blender-cvs mailing list