[Bf-blender-cvs] [e2a827c8486] blender2.8: Fix crash loading without UI, after recent changes.
Brecht Van Lommel
noreply at git.blender.org
Wed May 23 18:32:56 CEST 2018
Commit: e2a827c84869bcfaf7b704e6c4d224be8900ef86
Author: Brecht Van Lommel
Date: Wed May 23 18:04:43 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBe2a827c84869bcfaf7b704e6c4d224be8900ef86
Fix crash loading without UI, after recent changes.
===================================================================
M source/blender/blenloader/intern/readfile.c
===================================================================
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index 6d3f95fa63c..70c898a374e 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -2877,19 +2877,29 @@ static void lib_link_workspaces(FileData *fd, Main *bmain)
IDP_LibLinkProperty(id->properties, fd);
id_us_ensure_real(id);
- for (WorkSpaceDataRelation *relation = workspace->scene_viewlayer_relations.first;
+ for (WorkSpaceDataRelation *relation = workspace->scene_viewlayer_relations.first,
+ *relation_next = NULL;
relation != NULL;
- relation = relation->next)
+ relation = relation_next)
{
+ relation_next = relation->next;
+
relation->parent = newlibadr(fd, id->lib, relation->parent);
/* relation->value is set in direct_link_workspace_link_scene_data,
* except when loading linked data. */
Scene *scene = relation->parent;
- if (scene->id.lib != NULL) {
- relation->value = BLI_findstring(&scene->view_layers, relation->value_name, offsetof(ViewLayer, name));
+
+ if (scene) {
+ if (scene->id.lib != NULL) {
+ relation->value = BLI_findstring(&scene->view_layers, relation->value_name, offsetof(ViewLayer, name));
+ }
+ if (relation->value == NULL) {
+ relation->value = scene->view_layers.first;
+ }
}
- if (relation->value == NULL) {
- relation->value = scene->view_layers.first;
+ else {
+ /* Remove empty relation if scene got lost. */
+ BLI_freelinkN(&workspace->scene_viewlayer_relations, relation);
}
}
More information about the Bf-blender-cvs
mailing list