diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2018-06-25 13:02:20 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2018-06-25 13:02:20 +0300 |
commit | f33cb522dd5793c685dcd681f7c7e13ff60f920a (patch) | |
tree | 14ab8b3debc5b2c605c6f530f8e97e0d76e1d2db | |
parent | b09387c38874bef39ff1b6eb7f12b3ee89f29f48 (diff) |
Cleanup: Few more validation of G_MAIN usages...
-rw-r--r-- | source/blender/freestyle/intern/system/PythonInterpreter.h | 2 | ||||
-rw-r--r-- | source/blender/nodes/composite/node_composite_tree.c | 5 | ||||
-rw-r--r-- | source/blender/nodes/intern/node_exec.c | 2 |
3 files changed, 7 insertions, 2 deletions
diff --git a/source/blender/freestyle/intern/system/PythonInterpreter.h b/source/blender/freestyle/intern/system/PythonInterpreter.h index 79ba9421cda..4f5e94ef7a0 100644 --- a/source/blender/freestyle/intern/system/PythonInterpreter.h +++ b/source/blender/freestyle/intern/system/PythonInterpreter.h @@ -81,7 +81,7 @@ public: bool ok = BPY_execute_filepath(_context, fn, reports); #else bool ok; - Text *text = BKE_text_load(&_freestyle_bmain, fn, G.main->name); + Text *text = BKE_text_load(&_freestyle_bmain, fn, G_MAIN->name); if (text) { ok = BPY_execute_text(_context, text, reports, false); BKE_libblock_delete(&_freestyle_bmain, text); diff --git a/source/blender/nodes/composite/node_composite_tree.c b/source/blender/nodes/composite/node_composite_tree.c index ab9d041198c..1312b764546 100644 --- a/source/blender/nodes/composite/node_composite_tree.c +++ b/source/blender/nodes/composite/node_composite_tree.c @@ -280,7 +280,10 @@ void ntreeCompositTagRender(Scene *curscene) { Scene *sce; - for (sce = G.main->scene.first; sce; sce = sce->id.next) { + /* XXX Think using G_MAIN here is valid, since you want to update current file's scene nodes, + * not the ones in temp main generated for rendering? + * This is still rather weak though, ideally render struct would store own main AND original G_MAIN... */ + for (sce = G_MAIN->scene.first; sce; sce = sce->id.next) { if (sce->nodetree) { bNode *node; diff --git a/source/blender/nodes/intern/node_exec.c b/source/blender/nodes/intern/node_exec.c index a5be5dad534..4f7f5b5ab1c 100644 --- a/source/blender/nodes/intern/node_exec.c +++ b/source/blender/nodes/intern/node_exec.c @@ -163,6 +163,8 @@ bNodeTreeExec *ntree_exec_begin(bNodeExecContext *context, bNodeTree *ntree, bNo /* XXX texnodes have threading issues with muting, have to disable it there ... */ /* ensure all sock->link pointers and node levels are correct */ + /* Using global main here is likely totally wrong, not sure what to do about that one though... + * We cannot even check ntree is in global main, since most of the time it won't be (thanks to ntree design)!!! */ ntreeUpdateTree(G.main, ntree); /* get a dependency-sorted list of nodes */ |