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:
authorSergey Sharybin <sergey.vfx@gmail.com>2013-05-07 19:28:42 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2013-05-07 19:28:42 +0400
commit5455928262c7b2e99c8eb9be13665d819c4089d5 (patch)
tree3b6d913321ad02f392e55a4983227b1348884671 /source/blender/blenkernel/intern/node.c
parentc31ec62d2f5b33c46d54ddc982c0aed305c56a29 (diff)
Fix #35122: Blenderplayer crashes when loading level
Issue was caused by ntreeUpdateTree calling for a ntree which is not in G.main. This lead to issues in ntreeVerifyNodes (which is called from ntreeUpdateTree). Made is so ntreeUpdateTree now accepts main as an argument. Will work for the release, later we could either solve the TODO mentioned in ntreeUpdateTree which will eliminate need in main there or make it so context's main is used from all over where ntreeUpdateTree is called (currently there're still some usages of G.main).
Diffstat (limited to 'source/blender/blenkernel/intern/node.c')
-rw-r--r--source/blender/blenkernel/intern/node.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c
index f41d6387e4e..03d4fc35f42 100644
--- a/source/blender/blenkernel/intern/node.c
+++ b/source/blender/blenkernel/intern/node.c
@@ -2848,7 +2848,7 @@ void ntreeVerifyNodes(struct Main *main, struct ID *id)
} FOREACH_NODETREE_END
}
-void ntreeUpdateTree(bNodeTree *ntree)
+void ntreeUpdateTree(Main *bmain, bNodeTree *ntree)
{
bNode *node;
@@ -2886,8 +2886,8 @@ void ntreeUpdateTree(bNodeTree *ntree)
ntreeInterfaceTypeUpdate(ntree);
/* XXX hack, should be done by depsgraph!! */
- if (G.main)
- ntreeVerifyNodes(G.main, &ntree->id);
+ if (bmain)
+ ntreeVerifyNodes(bmain, &ntree->id);
if (ntree->update & (NTREE_UPDATE_LINKS | NTREE_UPDATE_NODES)) {
/* node updates can change sockets or links, repeat link pointer update afterward */