[Bf-blender-cvs] [c05fe45] soc-2016-layer_manager: Fix crash adding object after opening saved .blend
Julian Eisel
noreply at git.blender.org
Tue Jul 12 16:11:56 CEST 2016
Commit: c05fe4524a1f38bc41531ce24c1e8a6afe1954b2
Author: Julian Eisel
Date: Tue Jul 12 15:59:08 2016 +0200
Branches: soc-2016-layer_manager
https://developer.blender.org/rBc05fe4524a1f38bc41531ce24c1e8a6afe1954b2
Fix crash adding object after opening saved .blend
And move stuff into own function.
===================================================================
M source/blender/blenloader/intern/readfile.c
===================================================================
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index d2f57fa..1c91002 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -5837,6 +5837,7 @@ static void direct_link_view_settings(FileData *fd, ColorManagedViewSettings *vi
}
#ifdef WITH_ADVANCED_LAYERS
+
/**
* \note Recursive.
*/
@@ -5868,6 +5869,15 @@ static void direct_link_layeritems(FileData *fd, ListBase *layeritems, LayerTree
direct_link_layeritems(fd, &litem->childs, ltree, counter);
}
}
+
+static void direct_link_layertree(FileData *fd, LayerTree *ltree)
+{
+ int counter = 0;
+ ltree->items_all = newdataadr(fd, ltree->items_all);
+ ltree->active_layer = newdataadr(fd, ltree->active_layer);
+ direct_link_layeritems(fd, <ree->items, ltree, &counter);
+}
+
#endif
static void direct_link_scene(FileData *fd, Scene *sce)
@@ -6103,9 +6113,7 @@ static void direct_link_scene(FileData *fd, Scene *sce)
#ifdef WITH_ADVANCED_LAYERS
sce->object_layers = newdataadr(fd, sce->object_layers);
if (sce->object_layers) {
- int counter = 0;
- sce->object_layers->items_all = newdataadr(fd, sce->object_layers->items_all);
- direct_link_layeritems(fd, &sce->object_layers->items, sce->object_layers, &counter);
+ direct_link_layertree(fd, sce->object_layers);
}
#endif
More information about the Bf-blender-cvs
mailing list