diff options
author | Jacques Lucke <jacques@blender.org> | 2021-04-01 15:36:44 +0300 |
---|---|---|
committer | Jacques Lucke <jacques@blender.org> | 2021-04-01 15:39:12 +0300 |
commit | b00727950c28c31563426ea3c8c745b2c67e042d (patch) | |
tree | 996da96008edf2bd7f38d2fad5ca48707b0274f0 /source/blender/blenloader | |
parent | 1bdceb813ccb9690e5746731038e7f0ce92ed134 (diff) |
Nodes: separate node name and display name in bNodeTreePath
Previously, `node_name` was rarely actually a name of a node. It is set
correctly as node name in `ED_node_tree_push`. However, later on it
was overwritten by the name of an id data block in `node_draw_space`.
Now, the node_name stays the name of the "parent" node. Whereas
display_name is the name that will be displayed in the breadcrumbs.
With this change, the `node_name` can be used to reconstruct the
actual path from the root node tree to the currently visible tree.
Differential Revision: https://developer.blender.org/D10874
Diffstat (limited to 'source/blender/blenloader')
-rw-r--r-- | source/blender/blenloader/intern/versioning_290.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/source/blender/blenloader/intern/versioning_290.c b/source/blender/blenloader/intern/versioning_290.c index 0c6817542d1..4997639de5e 100644 --- a/source/blender/blenloader/intern/versioning_290.c +++ b/source/blender/blenloader/intern/versioning_290.c @@ -1970,5 +1970,18 @@ void blo_do_versions_290(FileData *fd, Library *UNUSED(lib), Main *bmain) la->area_spread = DEG2RADF(180.0f); } } + + LISTBASE_FOREACH (bScreen *, screen, &bmain->screens) { + LISTBASE_FOREACH (ScrArea *, area, &screen->areabase) { + LISTBASE_FOREACH (SpaceLink *, sl, &area->spacedata) { + if (sl->spacetype == SPACE_NODE) { + SpaceNode *snode = (SpaceNode *)sl; + LISTBASE_FOREACH (bNodeTreePath *, path, &snode->treepath) { + STRNCPY(path->display_name, path->node_name); + } + } + } + } + } } } |