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
path: root/source
diff options
context:
space:
mode:
authorTon Roosendaal <ton@blender.org>2011-01-04 19:31:36 +0300
committerTon Roosendaal <ton@blender.org>2011-01-04 19:31:36 +0300
commit51a3d123e1906e6107da653f881e94a1a93a9811 (patch)
tree5537b487139b4e3059e6effa235a46a7edb73ac1 /source
parent231f3a4e2e5a8ccee3fbe83cfbb9a346b0f4b3fa (diff)
Todo item: notifiers sent from Material changes invoked Compositor
jobs. Now proper checks have been added, also for texture nodes.
Diffstat (limited to 'source')
-rw-r--r--source/blender/editors/space_node/space_node.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/source/blender/editors/space_node/space_node.c b/source/blender/editors/space_node/space_node.c
index d2e6bca8eb4..6ab23291477 100644
--- a/source/blender/editors/space_node/space_node.c
+++ b/source/blender/editors/space_node/space_node.c
@@ -160,9 +160,9 @@ static void node_init(struct wmWindowManager *UNUSED(wm), ScrArea *UNUSED(sa))
static void node_area_listener(ScrArea *sa, wmNotifier *wmn)
{
/* note, ED_area_tag_refresh will re-execute compositor */
- /* XXX, should edit some to check for the nodeTree type, especially NC_NODE|NA_EDITED which refreshes all types */
SpaceNode *snode= sa->spacedata.first;
-
+ int type= snode->treetype;
+
/* preview renders */
switch(wmn->category) {
case NC_SCENE:
@@ -180,14 +180,18 @@ static void node_area_listener(ScrArea *sa, wmNotifier *wmn)
/* future: add ID checks? */
case NC_MATERIAL:
- if(wmn->data==ND_SHADING)
- ED_area_tag_refresh(sa);
- else if(wmn->data==ND_SHADING_DRAW)
- ED_area_tag_refresh(sa);
+ if(type==NTREE_SHADER) {
+ if(wmn->data==ND_SHADING)
+ ED_area_tag_refresh(sa);
+ else if(wmn->data==ND_SHADING_DRAW)
+ ED_area_tag_refresh(sa);
+ }
break;
case NC_TEXTURE:
- if(wmn->data==ND_NODES)
- ED_area_tag_refresh(sa);
+ if(type==NTREE_SHADER || type==NTREE_TEXTURE)) {
+ if(wmn->data==ND_NODES)
+ ED_area_tag_refresh(sa);
+ }
break;
case NC_TEXT:
/* pynodes */