diff options
Diffstat (limited to 'source/blender/editors/space_node/node_edit.cc')
-rw-r--r-- | source/blender/editors/space_node/node_edit.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/source/blender/editors/space_node/node_edit.cc b/source/blender/editors/space_node/node_edit.cc index 6275e7e4656..aa27edd77a7 100644 --- a/source/blender/editors/space_node/node_edit.cc +++ b/source/blender/editors/space_node/node_edit.cc @@ -394,7 +394,7 @@ static void send_notifiers_after_tree_change(ID *id, bNodeTree *ntree) { WM_main_add_notifier(NC_NODE | NA_EDITED, nullptr); - if (ntree->type == NTREE_SHADER) { + if (ntree->type == NTREE_SHADER && id != nullptr) { if (GS(id->name) == ID_MA) { WM_main_add_notifier(NC_MATERIAL | ND_SHADING, id); } @@ -667,6 +667,7 @@ void ED_node_set_active( node->flag |= NODE_DO_OUTPUT; if (!was_output) { do_update = true; + BKE_ntree_update_tag_active_output_changed(ntree); } } @@ -684,6 +685,7 @@ void ED_node_set_active( } node->flag |= NODE_DO_OUTPUT; + BKE_ntree_update_tag_active_output_changed(ntree); } ED_node_tree_propagate_change(nullptr, bmain, ntree); @@ -750,6 +752,7 @@ void ED_node_set_active( node->flag |= NODE_DO_OUTPUT; if (was_output == 0) { + BKE_ntree_update_tag_active_output_changed(ntree); ED_node_tree_propagate_change(nullptr, bmain, ntree); } @@ -765,6 +768,7 @@ void ED_node_set_active( } node->flag |= NODE_DO_OUTPUT; + BKE_ntree_update_tag_active_output_changed(ntree); ED_node_tree_propagate_change(nullptr, bmain, ntree); } } |