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>2018-06-25 13:02:20 +0300
committerBastien Montagne <montagne29@wanadoo.fr>2018-06-25 13:02:20 +0300
commitf33cb522dd5793c685dcd681f7c7e13ff60f920a (patch)
tree14ab8b3debc5b2c605c6f530f8e97e0d76e1d2db
parentb09387c38874bef39ff1b6eb7f12b3ee89f29f48 (diff)
Cleanup: Few more validation of G_MAIN usages...
-rw-r--r--source/blender/freestyle/intern/system/PythonInterpreter.h2
-rw-r--r--source/blender/nodes/composite/node_composite_tree.c5
-rw-r--r--source/blender/nodes/intern/node_exec.c2
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 */