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:
authorBastien Montagne <montagne29@wanadoo.fr>2015-11-11 14:28:06 +0300
committerBastien Montagne <montagne29@wanadoo.fr>2015-11-11 14:28:06 +0300
commitfa959715fd8a06664f4a4f0aa60a1da05aee3e3f (patch)
treea749103a71f1aab9008afdc4ec936abc91887ca3 /source/blender/blenkernel/intern/library.c
parenta9df76b167eaedf0d624beaf3de205ef478e562b (diff)
Free libraries last, and not first - most datablocks may have link to those...
Diffstat (limited to 'source/blender/blenkernel/intern/library.c')
-rw-r--r--source/blender/blenkernel/intern/library.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/source/blender/blenkernel/intern/library.c b/source/blender/blenkernel/intern/library.c
index e8f02ee8204..f7f4f1c1ab7 100644
--- a/source/blender/blenkernel/intern/library.c
+++ b/source/blender/blenkernel/intern/library.c
@@ -600,8 +600,9 @@ int set_listbasepointers(Main *main, ListBase **lb)
/* BACKWARDS! also watch order of free-ing! (mesh<->mat), first items freed last.
* This is important because freeing data decreases usercounts of other datablocks,
* if this data is its self freed it can crash. */
+ lb[a++] = &(main->library); /* Libraries may be accessed from pretty much any other ID... */
lb[a++] = &(main->ipo);
- lb[a++] = &(main->action); // xxx moved here to avoid problems when freeing with animato (aligorith)
+ lb[a++] = &(main->action); /* moved here to avoid problems when freeing with animato (aligorith) */
lb[a++] = &(main->key);
lb[a++] = &(main->gpencil); /* referenced by nodes, objects, view, scene etc, before to free after. */
lb[a++] = &(main->nodetree);
@@ -639,7 +640,6 @@ int set_listbasepointers(Main *main, ListBase **lb)
lb[a++] = &(main->object);
lb[a++] = &(main->linestyle); /* referenced by scenes */
lb[a++] = &(main->scene);
- lb[a++] = &(main->library);
lb[a++] = &(main->wm);
lb[a++] = &(main->mask);