diff options
author | Ton Roosendaal <ton@blender.org> | 2011-01-17 21:38:44 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2011-01-17 21:38:44 +0300 |
commit | d591ab53550d73e05e1a49eecdded014c53cf0cb (patch) | |
tree | 88ea38524ce2537ac40488b95634a2dca1270509 /source/blender | |
parent | 08287102046993203a4dd891552efc4a4ced51a4 (diff) |
Bugfix 25683
Compositor operators now have better poll check, so they won't
show up in operator search or hotkeys for other node views.
- backimage move, size
- read renderlayers
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/editors/space_node/node_edit.c | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/source/blender/editors/space_node/node_edit.c b/source/blender/editors/space_node/node_edit.c index dc2396f0d15..90e2ef5ebc7 100644 --- a/source/blender/editors/space_node/node_edit.c +++ b/source/blender/editors/space_node/node_edit.c @@ -194,6 +194,17 @@ void snode_composite_job(const bContext *C, ScrArea *sa) /* ***************************************** */ +/* operator poll callback */ +static int composite_node_active(bContext *C) +{ + if( ED_operator_node_active(C)) { + SpaceNode *snode= CTX_wm_space_node(C); + if(snode->treetype==NTREE_COMPOSIT) + return 1; + } + return 0; +} + /* also checks for edited groups */ bNode *editnode_get_active(bNodeTree *ntree) { @@ -821,7 +832,7 @@ void NODE_OT_backimage_move(wmOperatorType *ot) /* api callbacks */ ot->invoke= snode_bg_viewmove_invoke; ot->modal= snode_bg_viewmove_modal; - ot->poll= ED_operator_node_active; + ot->poll= composite_node_active; /* flags */ ot->flag= OPTYPE_BLOCKING; @@ -849,7 +860,7 @@ void NODE_OT_backimage_zoom(wmOperatorType *ot) /* api callbacks */ ot->exec= backimage_zoom; - ot->poll= ED_operator_node_active; + ot->poll= composite_node_active; /* flags */ ot->flag= OPTYPE_BLOCKING; @@ -1898,6 +1909,7 @@ void NODE_OT_links_cut(wmOperatorType *ot) /* ******************************** */ // XXX some code needing updating to operators... + /* goes over all scenes, reads render layers */ static int node_read_renderlayers_exec(bContext *C, wmOperator *UNUSED(op)) { @@ -1935,7 +1947,7 @@ void NODE_OT_read_renderlayers(wmOperatorType *ot) ot->exec= node_read_renderlayers_exec; - ot->poll= ED_operator_node_active; + ot->poll= composite_node_active; /* flags */ ot->flag= 0; @@ -1966,7 +1978,7 @@ void NODE_OT_read_fullsamplelayers(wmOperatorType *ot) ot->exec= node_read_fullsamplelayers_exec; - ot->poll= ED_operator_node_active; + ot->poll= composite_node_active; /* flags */ ot->flag= 0; @@ -2369,7 +2381,7 @@ void NODE_OT_add_file(wmOperatorType *ot) /* callbacks */ ot->exec= node_add_file_exec; ot->invoke= node_add_file_invoke; - ot->poll= ED_operator_node_active; + ot->poll= composite_node_active; /* flags */ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; |