Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDalai Felinto <dfelinto@gmail.com>2017-11-23 17:54:52 +0300
committerDalai Felinto <dfelinto@gmail.com>2017-11-23 18:33:58 +0300
commite314aa1e47bde878f3a36828827a354f161c8a1f (patch)
treee78133179fad0faf7b21d3bd61e0dee0a99735a2 /source/blender/makesdna/intern
parent5330e7fd292e1bb5ea3ba08f80fa6b9be5f0d987 (diff)
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.
Diffstat (limited to 'source/blender/makesdna/intern')
-rw-r--r--source/blender/makesdna/intern/dna_genfile.c17
1 files changed, 15 insertions, 2 deletions
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;
}