Commit: 014cdb2f42ccdb3915ed260c7bf3509ad26de6b6
Author: Julian Eisel
Date:   Mon Jun 6 00:25:45 2016 +0200
Branches: soc-2016-layer_manager
https://developer.blender.org/rB014cdb2f42ccdb3915ed260c7bf3509ad26de6b6

Fix undo and file reading after deleting layer with content

===================================================================

M       source/blender/blenkernel/intern/object_layer.c
M       source/blender/blenloader/intern/readfile.c

===================================================================

diff --git a/source/blender/blenkernel/intern/object_layer.c 
b/source/blender/blenkernel/intern/object_layer.c
index c2997e2..7458aa8 100644
--- a/source/blender/blenkernel/intern/object_layer.c
+++ b/source/blender/blenkernel/intern/object_layer.c
@@ -36,7 +36,10 @@
 static void objectlayer_free(LayerTreeItem *litem)
 {
        LayerTypeObject *oblayer = (LayerTypeObject *)litem;
-       BLI_ghash_free(oblayer->basehash, NULL, NULL);
+       if (oblayer->basehash) {
+               BLI_ghash_free(oblayer->basehash, NULL, NULL);
+               oblayer->basehash = NULL;
+       }
 }
 
 LayerTreeItem *BKE_objectlayer_add(
diff --git a/source/blender/blenloader/intern/readfile.c 
b/source/blender/blenloader/intern/readfile.c
index 7e7d8a2..cc1d9ec 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -5811,6 +5811,10 @@ static void direct_link_layeritems(FileData *fd, 
ListBase *layeritems)
        link_list(fd, layeritems);
        for (LayerTreeItem *litem = layeritems->first; litem; litem = 
litem->next) {
                litem->parent = newdataadr(fd, litem->parent);
+               if (litem->type == LAYER_ITEMTYPE_LAYER) {
+                       LayerTypeObject *oblayer = (LayerTypeObject *)litem;
+                       oblayer->basehash = newdataadr(fd, oblayer->basehash);
+               }
                direct_link_layeritems(fd, &litem->childs);
        }
 }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to