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/dna_genfile.c
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/dna_genfile.c')
-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;
}