diff options
author | Philipp Oeser <info@graphics-engineer.com> | 2022-09-28 16:08:09 +0300 |
---|---|---|
committer | Philipp Oeser <info@graphics-engineer.com> | 2022-09-30 12:53:03 +0300 |
commit | 8ba508d70bff949aec6b791349a55fd96bf94dd9 (patch) | |
tree | e7276a68c569a9fc8da247f35f170dddbef55520 /source/blender | |
parent | 2004827bc990708117548c77337af13603efb37a (diff) |
Fix missing Outliner updates when adding nodetrees
When e.g. grouping nodes into nodegroups, these would not show up
immediately in the Outliner (Blender File / Data API view).
Now send (unique combination, not used elsewhere) notifiers (and listen
for these in the Outliner).
Differential Revision: https://developer.blender.org/D16093
Diffstat (limited to 'source/blender')
4 files changed, 11 insertions, 0 deletions
diff --git a/source/blender/editors/curves/intern/curves_ops.cc b/source/blender/editors/curves/intern/curves_ops.cc index 2c643225072..6750b1a6f1a 100644 --- a/source/blender/editors/curves/intern/curves_ops.cc +++ b/source/blender/editors/curves/intern/curves_ops.cc @@ -997,6 +997,7 @@ static int surface_set_exec(bContext *C, wmOperator *op) DEG_id_tag_update(&curves_ob.id, ID_RECALC_TRANSFORM); WM_event_add_notifier(C, NC_GEOM | ND_DATA, &curves_id); + WM_event_add_notifier(C, NC_NODE | NA_ADDED, NULL); /* Required for deformation. */ new_surface_ob.modifier_flag |= OB_MODIFIER_FLAG_ADD_REST_POSITION; diff --git a/source/blender/editors/space_node/node_add.cc b/source/blender/editors/space_node/node_add.cc index efe53fd6f14..10e903ca79b 100644 --- a/source/blender/editors/space_node/node_add.cc +++ b/source/blender/editors/space_node/node_add.cc @@ -777,6 +777,8 @@ static int new_node_tree_exec(bContext *C, wmOperator *op) ED_node_tree_update(C); } + WM_event_add_notifier(C, NC_NODE | NA_ADDED, NULL); + return OPERATOR_FINISHED; } diff --git a/source/blender/editors/space_node/node_group.cc b/source/blender/editors/space_node/node_group.cc index 21def1bd9d7..e0de5e2f71d 100644 --- a/source/blender/editors/space_node/node_group.cc +++ b/source/blender/editors/space_node/node_group.cc @@ -1047,6 +1047,8 @@ static int node_group_make_exec(bContext *C, wmOperator *op) ED_node_tree_propagate_change(C, bmain, nullptr); + WM_event_add_notifier(C, NC_NODE | NA_ADDED, NULL); + /* We broke relations in node tree, need to rebuild them in the graphs. */ DEG_relations_tag_update(bmain); diff --git a/source/blender/editors/space_outliner/space_outliner.cc b/source/blender/editors/space_outliner/space_outliner.cc index ed1bd5dbfac..e20bc0a956a 100644 --- a/source/blender/editors/space_outliner/space_outliner.cc +++ b/source/blender/editors/space_outliner/space_outliner.cc @@ -256,6 +256,12 @@ static void outliner_main_region_listener(const wmRegionListenerParams *params) ED_region_tag_redraw(region); } break; + case NC_NODE: + if (ELEM(wmn->action, NA_ADDED, NA_REMOVED) && + ELEM(space_outliner->outlinevis, SO_LIBRARIES, SO_DATA_API)) { + ED_region_tag_redraw(region); + } + break; } } |