1e18efa1df1ad999303143156e0742d97d4c86bb
The issue was caused by a special code in node tree freeing function which will free extra fields in the case when tree is not in bmain. This is how old code was dealing with "nested" trees, but is now making behavior different from other datablocks. This is exactly what was confusing copy-on-write logic. Ideally, ntreeFreeTree() need to behave same as all other datablocks, ad freeing of data of nested trees should be up to the owner of the tree (this way it's all explicit and does not depend on check of some special flag.
Description
No description provided
Languages
C++
78%
Python
14.9%
C
2.9%
GLSL
1.9%
CMake
1.2%
Other
0.9%