diff options
author | Howard Trickey <howard.trickey@gmail.com> | 2020-10-24 20:53:16 +0300 |
---|---|---|
committer | Howard Trickey <howard.trickey@gmail.com> | 2020-10-24 21:07:05 +0300 |
commit | ca83649b7dbf7b30f3189393a5a27d9faf0ee73e (patch) | |
tree | 103d458098d1ced43276985dc3421d4b8d5f96f7 | |
parent | bc0a33a81243481e98e2df92a903da2393a16bbd (diff) |
Fix T82019 Crash loading 2.78 splash demo.
The versioning code to default to old booleans for old files was
faulty because really old files had a 'solver' field (later removed,
but then added back for new booleans).
-rw-r--r-- | source/blender/blenloader/intern/versioning_290.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/source/blender/blenloader/intern/versioning_290.c b/source/blender/blenloader/intern/versioning_290.c index 00085cb7d59..eeb0dd336a3 100644 --- a/source/blender/blenloader/intern/versioning_290.c +++ b/source/blender/blenloader/intern/versioning_290.c @@ -705,14 +705,12 @@ void blo_do_versions_290(FileData *fd, Library *UNUSED(lib), Main *bmain) } /* Solver and Collections for Boolean. */ - if (!DNA_struct_elem_find(fd->filesdna, "BooleanModifierData", "char", "solver")) { - for (Object *object = bmain->objects.first; object != NULL; object = object->id.next) { - LISTBASE_FOREACH (ModifierData *, md, &object->modifiers) { - if (md->type == eModifierType_Boolean) { - BooleanModifierData *bmd = (BooleanModifierData *)md; - bmd->solver = eBooleanModifierSolver_Fast; - bmd->flag = eBooleanModifierFlag_Object; - } + for (Object *object = bmain->objects.first; object != NULL; object = object->id.next) { + LISTBASE_FOREACH (ModifierData *, md, &object->modifiers) { + if (md->type == eModifierType_Boolean) { + BooleanModifierData *bmd = (BooleanModifierData *)md; + bmd->solver = eBooleanModifierSolver_Fast; + bmd->flag = eBooleanModifierFlag_Object; } } } |