diff options
author | Bastien Montagne <bastien@blender.org> | 2020-04-16 18:05:58 +0300 |
---|---|---|
committer | Bastien Montagne <bastien@blender.org> | 2020-04-16 18:08:46 +0300 |
commit | e9bf624a498a4f0074374740737d47c5df7fd87d (patch) | |
tree | 348138a0c194ff66f7dd19f8f1fc4143fc4efde5 /source/blender/blenkernel/intern | |
parent | 2a68b41b7df18299952f83f4499fa132c7141a1e (diff) |
Fix T75680: Nodegroup user count increased when file saved in edit group mode.
This editor's code was a bit schizophrenic, some parts considering its
nodetree usages as real refcounted ones, others, as shallow 'user one'
ones...
Editors should not be real ID users anyway, unless there are *very* good
reasons for it, so swich it to fully 'shallow' usage now.
Diffstat (limited to 'source/blender/blenkernel/intern')
-rw-r--r-- | source/blender/blenkernel/intern/lib_query.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/source/blender/blenkernel/intern/lib_query.c b/source/blender/blenkernel/intern/lib_query.c index 9c0fa33157c..4ffdcf14fa7 100644 --- a/source/blender/blenkernel/intern/lib_query.c +++ b/source/blender/blenkernel/intern/lib_query.c @@ -492,16 +492,17 @@ static void library_foreach_screen_area(LibraryForeachIDData *data, ScrArea *are FOREACH_CALLBACK_INVOKE_ID(data, snode->from, IDWALK_CB_NOP); FOREACH_CALLBACK_INVOKE( - data, snode->nodetree, is_private_nodetree ? IDWALK_CB_EMBEDDED : IDWALK_CB_USER); + data, snode->nodetree, is_private_nodetree ? IDWALK_CB_EMBEDDED : IDWALK_CB_USER_ONE); for (path = snode->treepath.first; path; path = path->next) { if (path == snode->treepath.first) { /* first nodetree in path is same as snode->nodetree */ - FOREACH_CALLBACK_INVOKE( - data, path->nodetree, is_private_nodetree ? IDWALK_CB_EMBEDDED : IDWALK_CB_NOP); + FOREACH_CALLBACK_INVOKE(data, + path->nodetree, + is_private_nodetree ? IDWALK_CB_EMBEDDED : IDWALK_CB_USER_ONE); } else { - FOREACH_CALLBACK_INVOKE(data, path->nodetree, IDWALK_CB_USER); + FOREACH_CALLBACK_INVOKE(data, path->nodetree, IDWALK_CB_USER_ONE); } if (path->nodetree == NULL) { |